Linux vmstat 命令是一个监控系统的工具,用于实时监测 Linux 系统的进程、内存、虚拟内存、磁盘 I/O 等信息。具体来说,vmstat 命令可以提供大量的系统性能指标,包括 CPU 使用率,内存使用情况,磁盘 I/O 等等。
vmstat 命令的使用方法:
vmstat [选项] [时间间隔] [执行次数]
选项:
-a
:报告活跃和非活跃内存区域的数量和总和。-f
:报告自引导以来的fork次数。-m
:显示slab内存使用情况(kb)。-n
:以指定的时间间隔显示指定次数的系统状态。 如果不使用该选项,则默认输出一个实时系统状态。-S
:更改页面内存单位。默认单位为KB,可以使用'M'表示MB或'G'表示GB。-s
:报告与虚拟内存有关的统计资料,包括交换页面、自由页面的数量以及虚假页面到磁盘的数量等。-w
:以宽格式显示输出。默认格式是紧凑的。
时间间隔:表示输出的时间间隔,单位为秒,缺省值为2秒。
执行次数:表示输出的次数,缺省值为无限制。
以下是几个示例用法:
- 监控CPU使用率和运行队列
vmstat 1 5
这个命令每隔1秒输出一次系统状态,连续输出5次。第一行输出的是从系统启动到现在的平均值,第二行开始输出最近1秒钟的状态。其中us表示用户空间占用CPU时间的百分比,sy表示内核空间占用CPU时间的百分比,wa表示等待磁盘IO操作的百分比,id表示空闲CPU时间的百分比,st表示被虚拟机偷走的CPU时间的百分比。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 10 0 208368 45756 542744 84 120 5544 372 791 849 10 10 50 30 0
2 2 0 125328 45768 621080 84 214 15225 4100 3109 5012 11 9 26 53 0
4 4 0 124256 46012 621388 84 92 10505 2504 2248 2447 10 10 44 36 0
1 7 0 119508 45968 626308 84 1216 13335 1261 2008 1997 6 9 39 46 0
2 12 0 113760 45972 631236 84 2720 9802 3088 2003 1657 6 12 35 48 0
r表示运行队列中进程的数量,b表示进程在等待一个时间片后可以运行的进程数量。
- 监控内存和交换分区使用情况
vmstat -s -S M
此命令报告有关 RAM 和交换分区使用情况的信息。
2012 MB total memory
1867 MB used memory
1307 MB active memory
469 MB inactive memory
145 MB free memory
417 MB buffer memory
838 MB swapcache
3064 MB total swap
0 MB used swap
3064 MB free swap
3412736 non-nice user cpu ticks
6865 nice user cpu ticks
905800 system cpu ticks
38359999 idle cpu ticks
74560 IO-wait cpu ticks
0 IRQ cpu ticks
392 softirq cpu ticks
0 stolen cpu ticks
195020 pages paged in
317667 pages paged out
0 pages swapped in
0 pages swapped out
1507545 interrupts
8214157 CPU context switches
1372414730 boot time
1778472 forks
其中,total memory表示系统的物理内存总大小,used memory表示已使用的内存大小,free memory表示可用的内存大小,swap为交换分区的使用情况。
通过以上示例,我们了解到了vmstat命令的常用选项和使用方式。在实际中,我们可以根据需要输出某些特定的信息,来快速诊断系统问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux vmstat命令:显示虚拟内存使用情况 - Python技术站