专注于快乐的事情

监控cpu和内存-vmstat命令

#vmstat

基本使用

每秒采集一次,共计3次

vmstat 1 3

1
2
3
4
5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 11300 235384 166844 1332584 0 0 5 27 119 65 0 0 99 0 0
0 0 11300 234580 166844 1332616 0 0 0 0 235 170 0 0 100 0 0
0 0 11300 234952 166844 1332616 0 0 0 0 221 157 0 0 100 0 0

字段描述

字段 说明
Procs
r 等待运行的进程的数量
b 睡眠的进程的数量
Memory
swpd 已使用的虚拟内存大小,如果大于0,表示机器物理内存不足
free 空闲的内存大小
buff 缓冲区的内存大小
cache 用于高速缓存的内存大小
inact 不活跃的内存大小(-a option)
active 活跃的内存大小(-a option)
Swap
si 从磁盘交换到内存的数量(/s),大于0,发生了swap交换,系统的内存不足
so 从内存交换到磁盘的的数量(/s)
IO
bi 从一个块设备接收到的块数量
bo 发送给一个块设备的块数量(blocks/s)
System
in 每秒的中断数,包含时间中断
cs 每秒上下文切换的数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好
CPU
us 运行非内核程序的时间(user time, including nice time),用户时间+nice
sy 运行内核程序的时间,如果太高,表示系统调用时间长,例如IO操作频繁
id 系统空闲时间(Prior to Linux 2.5.41, this includes IO-wait time)
wa 用在IO等待的时间,线程被阻塞等待磁盘IO时的CPU空闲时间
st CPU在虚拟化的环境下在其他租户上的开销

r为总数,其他的数为平均数。

si,so,如果有大于0的数,说明发生了swap交换,系统的内存不足。
cs(上下文切换)很高us,表示cpu占有率很高

参数

参数 说明
-a 显示活动/非活动的内存
-f 显示从开机到现在的forks的数目,等同于任务的创建总数
-n 只显示头部一次
-s 显示一个表包含各种事件计数器和内存统计
delay 刷新时间间隔
count 刷新次数
-d 显示磁盘相关统计信息
-D 显示活动的磁盘概要统计信息
-p 指定磁盘分区统计信息
-S 使用指定单位显示。参数有k,m,M
-V 显示vmstat版本信息。

用法举例

指定单位
vmstat 1 -Sm

评论系统未开启,无法评论!