CPU 瓶颈
-------------------
下面我们将就如何使用命令vmstat、tprof和ps检查系统是否存在CPU瓶颈做一个简单介绍。
1. vmstat
使用命令
# vmstat 1 10
P650A:/#vmstat 1 10
System configuration: lcpu=16 mem=15744MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 3208684 10343 0 0 0 0 0 0 19 1447 290 0 0 99 0
0 0 3208686 10341 0 0 0 0 0 0 2 1268 248 0 0 99 0
0 0 3208686 10341 0 0 0 0 0 0 1 1265 246 0 0 99 0
0 0 3208687 10340 0 0 0 0 0 0 3 1260 254 0 0 99 0
0 0 3208687 10340 0 0 0 0 0 0 1 1320 264 0 0 99 0
0 0 3208687 10337 0 0 0 0 0 0 24 4145 321 0 3 97 0
0 0 3208687 10337 0 0 0 0 0 0 9 1438 313 0 0 99 0
0 0 3208687 10334 0 3 0 0 0 0 40 2348 1110 0 0 99 0
0 0 3208687 10334 0 0 0 0 0 0 1 1323 257 0 0 99 0
0 0 3208687 10334 0 0 0 0 0 0 5 1251 242 0 0 99 0
注: 运行队列有进程等待时系统运行速度会降低。
id CPU 空闲时间或无I/O等待时间的百分比;
wa CPU I/O 等待时间的百分比;
r 运行队列中的线程数;
如果 id 和wa 的值持续为接近0的值,表明CPU此时处于繁忙状态。
下面来看看字段r(运行队列中的线程数)。
运行队列中等待的线程数越多,系统性能受到的影响越大。