今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题。这些工具都包含了不同的选项,这意味着你可以根据不同的工作使用不同的选项,或者根据你的需求来自定义脚本。我们都知道,系统管理员都会有点懒,他们经常去寻找一些更简单的方法来完成他们的工作。
mpstat - 处理器统计信息
1.不带任何参数的使用mpstat命令将会输出所有CPU的平均统计信息
复制代码代码如下:tecmint@tecmint ~ $ mpstat
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:23:57 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:23:57 IST all 37.35 0.01 4.72 2.96 0.00 0.07 0.00 0.00 0.00 54.88
2.使用‘-p’ (处理器编号)和‘ALL’参数将会从0开始独立的输出每个CPU的统计信息,0表示第一个cpu。
复制代码代码如下:tecmint@tecmint ~ $ mpstat -P ALL
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:29:26 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:29:26 IST all 37.33 0.01 4.57 2.58 0.00 0.07 0.00 0.00 0.00 55.44
12:29:26 IST 0 37.90 0.01 4.96 2.62 0.00 0.03 0.00 0.00 0.00 54.48
12:29:26 IST 1 36.75 0.01 4.19 2.54 0.00 0.11 0.00 0.00 0.00 56.40
复制代码代码如下:tecmint@tecmint ~ $ mpstat -P ALL 2 5
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:36:21 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:23 IST all 53.38 0.00 2.26 0.00 0.00 0.00 0.00 0.00 0.00 44.36
12:36:23 IST 0 46.23 0.00 1.51 0.00 0.00 0.00 0.00 0.00 0.00 52.26
12:36:23 IST 1 60.80 0.00 3.02 0.00 0.00 0.00 0.00 0.00 0.00 36.18
12:36:23 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:25 IST all 34.18 0.00 2.30 0.00 0.00 0.00 0.00 0.00 0.00 63.52
12:36:25 IST 0 31.63 0.00 1.53 0.00 0.00 0.00 0.00 0.00 0.00 66.84
12:36:25 IST 1 36.73 0.00 2.55 0.00 0.00 0.00 0.00 0.00 0.00 60.71
12:36:25 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:27 IST all 33.42 0.00 5.06 0.25 0.00 0.25 0.00 0.00 0.00 61.01
12:36:27 IST 0 34.34 0.00 4.04 0.00 0.00 0.00 0.00 0.00 0.00 61.62
12:36:27 IST 1 32.82 0.00 6.15 0.51 0.00 0.00 0.00 0.00 0.00 60.51
(LCTT译注: 上面命令中‘2’ 表示每2秒执行一次‘mpstat -P ALL’命令, ‘5’表示共执行5次)
4.使用‘I’参数将会输出每个处理器的中断统计信息
复制代码代码如下:tecmint@tecmint ~ $ mpstat -I
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:39:56 IST CPU intr/s
12:39:56 IST all 651.04
12:39:56 IST CPU 0/s 1/s 6/s 8/s 9/s12/s16/s17/s20/s21/s22/s23/s45/s46/s47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
12:39:56 IST 0 76.271.730.000.000.420.330.000.06 11.460.000.000.017.621.870.050.33 182.260.000.333.030.00 22.660.165.140.000.000.000.000.000.00
12:39:56 IST 1 70.881.440.000.000.410.330.00 27.91 10.330.000.000.017.271.790.050.32 184.110.000.325.170.00 22.090.134.730.000.000.000.000.000.00
12:39:56 IST CPUHI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
12:39:56 IST 00.00 116.490.050.277.330.001.22 10.440.13 37.47
12:39:56 IST 10.00 111.650.050.417.070.00 56.369.970.13 41.38
5.使用‘A’参数将会输出上面提到的所有信息,等同于‘-u -I All -p ALL’。
复制代码代码如下:tecmint@tecmint ~ $ mpstat -A
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:41:39 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:41:39 IST all 38.70 0.01 4.47 2.01 0.00 0.06 0.00 0.00 0.00 54.76
12:41:39 IST 0 39.15 0.01 4.82 2.05 0.00 0.02 0.00 0.00 0.00 53.95
12:41:39 IST 1 38.24 0.01 4.12 1.98 0.00 0.09 0.00 0.00 0.00 55.57
12:41:39 IST CPU intr/s
12:41:39 IST all 651.73
12:41:39 IST 0 173.16
12:41:39 IST 1 225.89
12:41:39 IST CPU 0/s 1/s 6/s 8/s 9/s12/s16/s17/s20/s21/s22/s23/s45/s46/s47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
12:41:39 IST 0 76.041.770.000.000.410.360.000.06 11.600.000.000.017.421.830.050.34 182.890.000.342.970.00 22.690.165.220.000.000.000.000.000.00
12:41:39 IST 1 70.701.480.000.000.400.360.00 27.47 10.460.000.000.017.081.750.050.32 184.830.000.325.100.00 22.190.134.910.000.000.000.000.000.00
12:41:39 IST CPUHI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
12:41:39 IST 00.00 116.960.050.267.120.001.24 10.420.12 36.99
12:41:39 IST 10.00 112.250.050.406.880.00 55.059.930.13 41.20



