vmstat:这个命令可以查看CPU使用率,I/O,内存,虚拟内存,等等。
格式:vmstart 1 10(每秒取一次,取10次)
参数:
-a 显示活跃和非活跃的内存
-f 显示系统开机到现在的fork数量
-m:显示slabinfo信息(貌似是缓存分配的信息)
-s:显示系统内存的统计信息
-d:显示磁盘统计信息
-p:显示制定某磁盘的统计信息
-S:显示单位,k,K,m,M,换算的话小写按1000算,大写按1024算
-V:显示版本
可以看到上面都是分割开了,procs,memory,swap,io,system,cpu,各个参数的意义:
r:等待运行的进程数
b:等待IO进程数
swpd:虚拟内存使用情况,单位KB
free:空闲的物理内存,单位KB
buff:被用来最为缓冲区的内存大小,单位KB,主要缓存一些,目录和目录中的内容,文件的一些属性,例如权限。
cache:被用来作为缓存的内存大小,单位KB,主要缓存我们打开过的文件或程序,如果cache比较大,而我们访问的文件都能被cache住,则bi应该比较小。
si:每秒从交换分区写入到内存的大小,有磁盘到内存
so:每秒写入交换分区的大小,由内存到磁盘
如果si,so长期大于0,系统的性能会受到影响,如果free较少,但此两个值还是0,则性能上影响不大。
bi:每秒读取的块数
bo:每秒写入的块数
in:每秒中断数,包括时钟中断
cs:每秒上下文切换数
In和Cs值过大,sy值会逐渐增大
us:用户进程执行时间百分比
sy:系统进程执行时间百分比
us值较大,超过50%以上,我们一定要查清原因,考虑下优化的问题,sy长期很高,一定要查明原因,因为这是不太正常的表现
wa:io等待时间百分比
wa值较大,一般可能有大流量数据写入磁盘或随机I/O过多,如长时间比较大,可能出现了瓶颈。块操作
id:CPU空闲时间百分比
当r参数中的等待进程过多,id小于40,证明cpu负载很重。
在说个-a参数吧:
inact:非活跃内存大小
active:活跃内存大小