第四行:Mem: 4147272k total, 4117996k used, 29276k free, 459344k buffers
显示可用内存和已利用内存
第五行:Swap: 1052248k total, 192k used, 1052056k free, 3174936k cached
注意:交换分区被频繁使用的话可以认为是物理内存不足而造成的。
第六行开始列举各个进程的相关信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID 进程ID
USER 谁运行这个进程
PRI 进程的优先级
NI nice值:这个值越高,任务的优先级越低
SIZE 这个进程使用的内存(代码+数据+堆栈)
RSS 这个进程占用的物理内存
SHARE 这个进程使用的共享内存
STAT 进程的状态信息。
R 正在运行
S 正在休息
Z 迟滞
T 停止
W 已换出的进程
N 正nice的值
%CPU 这个进程占用的CPU百分比
%MEM 占用的内存百分比
TIME 这个进程使用的总CPU时间
CPU 如果这是一个多处理器系统,这一列就表示其上运行进程的CPU的ID
CPU Utilization,一个很直观的概念,在任意时间内,CPU有7个状态:
1.idle,表示CPU闲置并等待工作分配.
2.user,表示CPU在运行用户的进程
3.system,表示CPU在执行kernel工作
4.nice, 表示CPU花费在被nice改变过优先级的process上的时间
(注意:被nice命令改变优先级的process仅指那些nice值为负的 process。花费在被nice命令改变优先级的任务上的时间也将被计算在系统和用户时间内,因此整个时间加起来可能会超过百分之百)
5.iowait,表示CPU等待IO操作完成的时间
6.irq,表示CPU开销在响应硬中断上的时间
7.softirq,表示CPU开销在响应软中断上的时间。
我们一般用vmstat看到的都是四个状态:sy,us,id,wa,通过他和load avg结合,基本可以知道cpu的状态
us -> User 表示CPU在运行用户的进程
sy -> system 表示CPU在执行kernel工作
ni -> nice 表示CPU花费在被nice改变过优先级的process上的时间
id -> idle 表示CPU闲置并等待工作分配.
wa -> iowait 表示CPU等待IO操作完成的时间 %wa高,说明磁盘忙。譬如磁盘读写次数非常高。
hi -> H/w interrupt requests 硬件中断
si -> S/w interrupt requests 软件中断 %si高,是否说明软中断忙.进程之间频繁切换导致!