简单工作,快乐生活!
linux vmstat命令详解
上一篇 /
下一篇 2009-07-30 11:18:50
/ 个人分类:精典帖子收藏
vmstat命令用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况。
输出项
类别 | 项目 | 含义 | 说明 |
Procs | r | 等待执行的任务数 | 展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了 |
| b | | |
Memory | swpd | 正在使用的swap大小单位K | |
| free | 空闲的内存空间 | |
| buff | 已使用的buff大小,对块设备的读写进行缓冲 | |
| cache | 已使用的cache大小,文件系统的cache | |
| inact | | |
| active | | |
Swap | si | 交换内存使用,由磁盘调入内存 | |
| so | 交换内存使用,由内存调入磁盘 | |
IO | bi | 从块设备读入的数据总量(读磁盘) (KB/s), | |
| bo | 写入到块设备的数据总理(写磁盘) (KB/s) | |
System | in | 每秒产生的中断次数 | |
| cs | 每秒产生的上下文切换次数 | 上面这2个值越大,会看到由内核消耗的CPU时间会越多 |
CPU | us | 用户进程消耗的CPU时间百分比 | us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了 |
| sy | 内核进程消耗的CPU时间百分比 | sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。 |
| id | 空闲 | |
| wa | IO等待消耗的CPU时间百分比 | wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 |
命令比较简单,但涉及到的内存、磁盘、cpu之间的关系还是挺复杂的,需要进一步学习相关的knowledge。
其中:
如果r经常大于4,且id经常少于40,表示cpu的负荷很重。
如果pi,po长期不等于0,表示内存不足。
如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。
1.)如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.
2.)如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
3.)如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us)系统则面临着CPU资源的短缺.
解决办法:
当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU. 关于CPU的使用情况还可以结合mpstat, ps aux top prstat –a等等一些相应的命令来综合考虑关于具体的CPU的使用情况,和那些进程在占用大量的CPU时间.一般情况下,应用程序的问题会比较大一些.比如一些SQL语句不合理等等都会造成这样的现象.
内存问题现象:
内存的瓶颈是由scan rate (sr)来决定的.scan rate是通过每秒的始终算法来进行页扫描的.如果scan rate(sr)连续的大于每秒200页则表示可能存在内存缺陷.同样的如果page项中的pi和po这两栏表示每秒页面的调入的页数和每秒调出的页数.如果该值经常为非零值,也有可能存在内存的瓶颈,当然,如果个别的时候不为0的话,属于正常的页面调度这个是虚拟内存的主要原理.
解决办法:
1.调节applications & servers使得对内存和cache的使用更加有效.
2.增加系统的内存.
3. Implement priority paging in s in pre solaris 8 versions by adding line "set priority paging=1" in
/etc/system. Remove this line if upgrading from Solaris 7 to 8 & retaining old /etc/system file.
关于内存的使用情况还可以结ps aux top prstat –a等等一些相应的命令来综合考虑关于具体的内存的使用情况,和那些进程在占用大量的内存.一般情况下,如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放,但是,并没有占用CPU时间,可以考虑应用程序,对于未占用CPU时间和一些后台的程序,释放内存的占用
收藏
举报
TAG: