vmstat & mpstat & w
vmstat
# vmstat 3 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 4586104 53544 1600700 0 0 1 5 1 1 1 0 99 0 0 0 0 0 4586096 53544 1600700 0 0 0 16 586 293 0 0 100 0 0
表示每个3秒采集1次服务器状态,2表示只采集2次
mpstat
# mpstat -P ALL 5 2 Linux 2.6.9-67.ELsmp (oraclerac1) 12/20/2008 10:42:38 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s 10:42:43 PM all 6.89 0.00 44.76 0.10 0.10 0.10 48.05 1121.60 10:42:43 PM 0 9.20 0.00 49.00 0.00 0.00 0.20 41.60 413.00 10:42:43 PM 1 4.60 0.00 40.60 0.00 0.20 0.20 54.60 708.40 10:42:43 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s 10:42:48 PM all 7.60 0.00 45.30 0.30 0.00 0.10 46.70 1195.01 10:42:48 PM 0 4.19 0.00 2.20 0.40 0.00 0.00 93.21 1034.53 10:42:48 PM 1 10.78 0.00 88.22 0.40 0.00 0.00 0.20 160.48 Average: CPU %user %nice %system %iowait %irq %soft %idle intr/s Average: all 7.25 0.00 45.03 0.20 0.05 0.10 47.38 1158.34 Average: 0 6.69 0.00 25.57 0.20 0.00 0.10 67.43 724.08 Average: 1 7.69 0.00 64.44 0.20 0.10 0.10 27.37 434.17 5 2 指示该命令每隔5秒运行一次,共运行2次。以上输出首先显示了所有 CPU 的合计指标,然后显示了每个 CPU 各自的指标。最后,在结尾处显示所有 CPU 的平均值。 %user 表示处理用户进程所使用 CPU 的百分比。用户进程是用于应用程序(如 Oracle 数据库)的非内核进程。 在本示例输出中,用户 CPU 百分比非常低。 %nice 表示使用 nice 命令对进程进行降级时 CPU 的百分比。在之前的部分中已经对 nice 命令进行了介绍。简单来说,nice 命令更改进程的优先级。 %system 表示内核进程使用的 CPU 百分比 %iowait 表示等待进行 I/O 所使用的 CPU 时间百分比 %irq 表示用于处理系统中断的 CPU 百分比 %soft 表示用于软件中断的 CPU 百分比 %idle 显示 CPU 的空闲时间 %intr/s 显示每秒 CPU 接收的中断总数
mpstat 可以显示每个处理器的统计, vmstat 显示所有处理器的统计。当您看到较低的 %idle 数字时,就知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,就知道在当前负载下 I/O 子系统出现了某些问题。
w
# w 00:44:00 up 13 days, 6:02, 6 users, load average: 0.20, 0.32, 0.27 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user1 pts/0 192.168.0.2 00:33 10:45 0.02s 0.02s -bash user2 pts/31 192.168.0.3 05Jul13 2:10m 0.81s 0.06s login -- user2 user3 pts/39 192.168.0.5 07Jul13 2:11m 1.62s 1.58s ssh 10.1.1.2 user4 pts/23 192.168.0.7 00:27 16:53 0.01s 0.01s -bash root pts/27 192.168.0.10 00:28 0.00s 0.24s 0.17s -bash USER: 用户 TTY: Terminal TYpe的缩写,这里指终端名称。如root使用pts/27 FROM:从何处接到此机。如root从192.168.0.10接过来 LOGIN@: 何时开始接到此机。如root从00:28(凌晨0点28分)开始接上 IDLE:空闲时间(指该用户在此机上多久没敲入命令)。root正在用。 JCPU: 该终端所有进程(process)一共使用CPU时间(累计)。从接上到此时共用24秒CPU PCPU: 该终端现在进程(WHAT一栏所指的进程)使用CPU时间。当前进程(bash)用17秒CPU WHAT: 现在进程所用命令及选项。现在进程用bash