vmstat:
r 运行队列(就是说多少个进程真的分配到CPU)
b 阻塞的进程
swpd 虚拟内存已使用的大小
free 空闲的物理内存的大小
buff 缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据,一般是用在写入磁盘的
cache 存在于cpu和内存之间的缓冲区,不是缓存文件的,而是缓存块的(块是I/O读写最小的单元)
si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉
so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上
bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte
bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整
in 每秒CPU的中断次数,包括时间中断
cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目
us 用户CPU时间
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁
id 空闲 CPU时间,一般来说,id + us + sy = 100
wt 等待IO CPU时间
iostat:
iostat主要用于监控系统设备的IO负载情况
iostat -d -k 2: -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次
iostat -d sda 2:默认监控所有的硬盘设备,现在指定只监控sda
free:
top:
第一行: 当前时间、系统运行时间、当前登录的用户数、系统负载(三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值,当这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转)
第三行:cpu占比----用户空间、内核空间、用户进程空间内改变过优先级的进程、空闲、等待输入输出、硬中断、软中断
第四行:物理内存
第五行:交换区
进程信息:
PR:优先级
NI :nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量
RES :进程使用的物理内存大小
SHR:共享内存大小
S:进程状态 ,D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程