Linux里面vmstat命令作用是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux里面vmstat命令作用是啥?相关的知识,希望对你有一定的参考价值。

11.5 vmstat:虚拟内存统计

11.5.1  命令详解

【命令星级】                                                 ★★★★☆

【功能说明】

vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析。

【语法格式】

vmstat  [option]  [delay [ count]]

vmstat  [选项]     [时间间隔[次数]]

说明:
1)在vmstat命令及后面的选项里,每个元素之间都至少有一个空格。

2)delay表示两次输出之间的间隔时间。

3)count表示按照delay指定的时间间隔统计的次数。

【选项说明】

表11-4针对该命令的参数选项进行了说明。

11.5.2  使用范例

范例11-12:显示虚拟内存使用情况。

[root@oldboy ~]# vmstat   #<==如果省略“间隔时间”和“次数”参数,则仅显示一次报告后就退出

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0      0 71756  38600 279084    0    0    24     6   15   18  0  0 100  0  0   

[root@oldboyedu ~]# vmstat 5  #<==表示每5秒钟更新一次输出信息,循环输出,按Ctrl+C组合键停止输出。

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0      0  71804  38600 279084    0    0     2     1    9    9  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    8    8  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    9    9  0  0 100  0  0  

^C

[root@oldboyedu ~]# vmstat 5 6  #<==表示每5秒更新一次输出信息,统计6次后停止输出。

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0      0  71804  38600 279084    0    0     2     1    9    9  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    9    8  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    8    9  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    9    8  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    9    8  0  0 100  0  0  

 0  0      0  71756  38600 279084    0    0     0     0    9    8  0  0 100  0  0  

[root@oldboy ~]#

以下是命令结果说明。

第1列:procs。

q  r列表示运行和等待CPU时间片的进程数。

q  b列表示在等待资源的进程数。

第2列:memory。

q  swpd列表示使用虚拟内存大小。

q  free列表示当前空闲的物理内存数量。

q  buff列表示buffers 的内存数量。

q  cache列表示cache的内存数量。

第3列:swap。

q  si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。

q  so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。

第4列:I/O项显示磁盘读写状况。

q  bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。

q  bo列表示写入到块设备的数据总量(即写磁盘)(块/s)。

第5列:system显示采集间隔内发生的中断数。

q  in列表示在某一时间间隔中观测到的每秒设备中断数。

q  cs列表示每秒产生的上下文切换次数。

第6列:CPU项显示了CPU的使用状态。

q  us列显示了用户进程消耗的CPU时间百分比。

q  sy列显示了系统(内核)进程消耗的CPU时间百分比。

q  id列显示了CPU处在空闲状态的时间百分比。

q  wa列显示了IO等待所占用的CPU时间百分比。

q  st列显示了虚拟机占用的CPU时间的百分比。

范例11-13:显示活跃和非活跃内存。

[root@oldboy ~]# vmstat -a 2 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st

 0  0      0  71804 160408 165848    0    0     2     1    9    9  0  0 100  0  0  

 0  0      0  71756 160408 165844    0    0     0     0   11   11  0  0 100  0  0  

 0  0      0  71756 160408 165844    0    0     0     0   12    9  0  0 100  0  0  

 0  0      0  71608 160412 165672    0    0     0  1302  218  341 12  9 80  0  0   

 0  0      0  71608 160412 165672    0    0     0     0   10    9  0  0 100  0  0  

使用-a选项显示活跃和非活跃内存时,所显示的内容除增加了inact和active外,其他显示内容与范例11-12相同。

在Memory列增加的inact和active两列,说明如下。

q  inact: 非活跃内存大小(当使用-a选项时显示)。

q  active: 活跃的内存大小(当使用-a选项时显示)。

范例11-14:查看内存使用的详细信息。

[root@oldboy ~]# vmstat -s

       486640  total memory

       414572  used memory

       165656  active memory

       160420  inactive memory

        72068  free memory

……

这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。

范例11-15:查看磁盘的读/写。

[root@oldboy ~]# vmstat -d

disk- ------------reads------------ ------------writes----------- -----IO------

       total merged sectors      ms  total merged sectors      ms    cur    sec

ram0       0      0       0       0      0      0       0       0      0      0

ram1       0      0       0       0      0      0       0       0      0      0

……

sr0        0      0       0       0      0      0       0       0      0      0

sda    14667   3623  594388    6737  12864  32806  365372   44250      0     30

这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作。

范例11-16:查看/dev/sda1磁盘的读写统计信息。

[root@oldboy ~]# vmstat -p /dev/sda1

sda1          reads   read sectors  writes    requested writes

                 502       4162         14         68

这些信息主要来自于/proc/diskstats。各列的说明如下。

q  reads:来自于这个分区的读的次数。

q  read sectors:来自于这个分区的读扇区的次数。

q  writes:来自于这个分区的写的次数。

q  requested writes:来自于这个分区的写请求次数。

摘自:

跟老男孩学Linux运维:核心系统命令实战 第11章 版权归原作者所有

参考技术A vmstat:虚拟内存统计

【功能说明】
vmstat是Virtual Memory
Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析。
【语法格式】
vmstat [option] [delay [ count]]
vmstat [选项] [时间间隔[次数]]
说明:
1)在vmstat命令及后面的选项里,每个元素之间都至少有一个空格。
2)delay表示两次输出之间的间隔时间。
3)count表示按照delay指定的时间间隔统计的次数。
参考技术B vmstat 报告虚拟内存的统计信息

用法

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]

参数

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。引申阅读: http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。
参考技术C vmstat命令是最常见的Linux/Unix监控工具

Linux里面ln -s命令作用是啥?

参考技术A 对源文件创建
软链接
,沿链接方向访问实际路径下文件。如:ln
-s
/usr/local/nginx-1.14.0/
/usr/local/nginx
意思是访问/usr/local/nginx
实际上就是访问真实的
/usr/local/nginx-1.14.0这个路径内的文件。
参考技术B chown是linux中权限控制命令,功能是改变文件或目录的所有者,配合权限777进行文件控制。

以上是关于Linux里面vmstat命令作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

转载 linux常用的监控命令工具

Linux里面du命令作用是啥?

Linux里面pwd命令作用是啥?

Linux里面netstat -n 命令作用是啥?

Linux里面ln -s命令作用是啥?

Linux里面shell里面fi命令作用是啥?