vmstat可以监视操作系统内存信息、进程状态、CPU活动和磁盘等信息,但其缺点是无法详细分析进程。
[ root @ best test~] # vmstat 21p rocs---------memory-----swap------ io------ sssap
实际上,在APP事件期间,我们一直在监视一段时间。 如果不想监视的话,直接退出vmstat就可以了。 例如:
[sdk_test@ssdk1 server] $ vmstat2procs---------- memory------ swap------ io------------------------------ - 0 0 169144 252324 12417484 0 0 0 0 1127 1277 1 1 99 0 0 0 0 0 170632 252324 12417596 0 0 0 28 1246 1383 1 1 98 0 0 0 0 0 169556 252324 12417700 0 0 0 20 1446 156510 98000 169928 252324 1241782800 24 1286 14691980000170168 2523 2412417928064132815131980这是vmstat每2秒钟收集一次数据,然后由专业人员在这里收集了6次数据,结束了程序
那么,命令介绍结束了。 现在开始实战性地说明各参数的意思
procs
r列表示运行CPU时间片并等待的进程数。 如果此值长期大于系统中的CPU数量,则表示处理器不足,需要增加CPU。
列b显示等待资源的进程数,例如正在等待I/O或内存交换。
memory
swpd列表示切换到内存交换域的存储器的大小(单位KB ),一般是虚拟存储器的大小。 swap的值为0或比较大时,如果si、so的值长期为0,这一般是正常的情况。
“自由”列表示当前可用的物理内存单位KB。
Buff列表示baffers cached内存大小或缓冲区大小,通常需要缓冲区才能读写块设备。
cache列显示page cached的内存大小或高速缓存大小。 通常作为文件系统进行缓冲,经常访问的文件将被缓存。 如果cache的值非常大,则表示缓存文件较多,如果io的bi较小,则表示文件系统效率较高。
swap
si列显示从磁盘读取到内存中的内存,即内存可以进入内存交换区域的内存大小。
so列显示从内存进入磁盘的内存,或从内存交换区进入内存的内存大小。
一般,si、so的值都是0,但在si、so的值长期不为0的情况下,系统内存不足,需要增加系统内存。
io
bi列表示由块设备读取的数据总量,即读磁盘,以kb/秒为单位。
bo列表示写入块设备的数据总量,即写磁盘,单位为kb/秒。
如果bi bo值太大,wa值太大,则表示系统磁盘I/o瓶颈。
system
in列表示在一段时间内每秒观察到的设备中断次数。
cs列表示每秒发生的上下文切换的数量。 这两个值越大,核心占用的CPU就越多。
cpu
us列显示用户进程占用的CPU时间的百分比,us值越高,表示用户进程占用的CPU时间越多,如果长期超过50%,则应考虑优化程序或算法。
sy列显示了系统内核进程占用的CPU时间百分比。 一般来说,us sy应该小于80%。 如果超过80%,可能会出现处女座CPU瓶颈。
id列显示CPU空闲的时间百分比。
wa列表示IP等待占CPU的时间比例,wa值越高表示I/O等待越严重,经验上wa的参考值为20%,超过20%表示I/O等待严重,I/O等待的原因是磁盘的大量随机
综上所述,评价CPU时,需要关注procs项的r列的值和CPU项的us、sy、wa列的值。
转载于:https://www.cn blogs.com/xiaoyaojinzhazhadehangcheng/p/8042078.html