linux 命令使用6--vmstat(内存)
1. 简介
如果你想动态的了解一下系统资源的使用状况,以及查看当前系统中到底是哪个环节最占用系统资源,就可以使用 vmstat 命令。
vmstat命令,是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。此
2. 格式
命令的基本格式有如下 2 种:
[root@localhost ~]# vmstat [-a] [刷新延时 刷新次数]
[root@localhost ~]# vmstat [选项]
选项 | 含义 |
---|---|
-fs | -f:显示从启动到目前为止,系统复制(fork)的程序数,此信息是从 /proc/stat 中的 processes 字段中取得的。 -s:将从启动到目前为止,由一些事件导致的内存变化情况列表说明。 |
-S 单位 | 令输出的数据显示单位,例如用 K/M 取代 bytes 的容量。 |
-d | 列出硬盘有关读写总量的统计表。 |
-p 分区设备文件名 | 查看硬盘分区的读写情况。 |
该命令输出信息中,各个字段以及含义如表 2 所示。
字段 | 含义 |
---|---|
procs | 进程信息字段:
|
memory | 内存信息字段:
|
swap | 交换分区信息字段:
|
io | 磁盘读/写信息字段:
|
system | 系统信息字段:
|
cpu | CPU信息字段:
|
3. 说明
本机是一台测试用的虚拟机,并没有多少资源被占用,所以资源占比都比较低。如果服务器上的资源占用率比较高,那么使用 vmstat 命令查看到的参数值就会比较大,我们就需要手工进行干预。如果是非正常进程占用了系统资源,则需要判断这些进程是如何产生的,不能一杀了之;如果是正常进程占用了系统资源,则说明服务器需要升级了。
4. 实例
#使用vmstat检测,每隔1秒刷新一次,共刷新3次
[root@localhost proc]# vmstat 1 3
qiteck@logic:~$ vmstat 1 3 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 0 415880 1253972 5342364 0 0 0 30 3 2 3 1 92 4 0 0 0 0 415880 1253972 5342364 0 0 0 56 1747 4163 4 1 92 4 0 1 0 0 415880 1253972 5342364 0 0 0 28 1714 3803 5 1 93 1 0