vmstat 命令
vmstat
命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程、内存、I/O 等系统整体运行状态。
命令用法
其中:
delay
:时间间隔,状态信息刷新的时间间隔;count
:次数,显示报告的次数。
常用可选参数
参数
说明
-a, --active
显示活动/非活动的内存信息
-f, --forks
显示启动后创建的进程总数
-n, --one-headers
仅显示一次头信息
-m, --slabs
显示 slab 信息
-d, --disk
显示磁盘的统计信息
-D, --disk-sum
显示磁盘的总和信息
-s, --stats
以表格的形式显示事件计数器的统计信息
-S, --unit CHAR
定义显示信息的单位 CHAR
-t, --timestamp
显示时间戳
结果参数解析
其中
procs(进程)
r 运行队列中进程数量;
b 等待 IO 的进程数量;
memory(内存)
swpd 使用虚拟内存大小。如果 swpd 的值不为 0,但是 si,so 的值长期为 0,这种情况不会影响系统性能
free 空闲物理内存大小
buff 缓冲区的内存大小
cache 用作缓存的内存大小。如果 cache 的值大的时候,说明 cache 处的文件数多,如果频繁访问到的文件都能被cache 处,那么磁盘的读IO 的 bi 值会非常小。
swap(交换区内存)
si 每秒从交换区写到内存的大小,由磁盘调入内存。
so 每秒写入交换区的内存大小,由内存调入磁盘。
io(io 系统) —— 下面这 2 个值越大(如超出1024k),CPU 在 IO 等待的值也会越大
bi 每秒读取的块数
bo 每秒写入的块数
system(操作系统) —— 下面这两个值越大,由内核消耗的CPU时间会越大
in 每秒中断数,包括时钟中断
cs 每秒上下文切换数
cpu
us 用户进程执行时间百分比。us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超 50% 的使用,要考虑优化程序算法或者进行加速。
sy 内核系统进程执行时间百分比。sy 的值高时,说明系统内核消耗的CPU资源多,要排查问题
wa 等待 IO 时间百分比
id 空闲时间百分比
Last updated