Linux vmstat命令有什么作用?

  Linux里面vmstat命令作用是什么?vmstat是一个提供报告虚拟内存统计的工具,包括了系统内存、交换和实时处理器利用率。接下来我们来看看详细的内容介绍。

  vmstat:虚拟内存统计

  命令详解

  【命令星级】 ★★★★☆

  【功能说明】

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

  【语法格式】

  vmstat [option] [delay [ count]]

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

  说明:

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

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

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

  【选项说明】

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

  使用范例

  范例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:来自于这个分区的写请求次数。

(0)

相关推荐

  • 遂宁

    文档目录: 一.lsof:查看进程打开的文件 二.uptime:显示系统的运行时间及负载 三.free:查看系统内存信息 四.iftop:动态显示网络接口流量信息 五.vmstat:虚拟内存统计 六. ...

  • 【shell】五、一个系统监控脚本

    创建一个脚本,名字叫sys_watch.sh.此脚本来源于<Linux shell 核心编程指南>,丁明一版本. 此脚本主要内容为: 1.创建系统时间.ip.可用内存.可用磁盘.cpu负载 ...

  • Linux tree命令有什么作用?

    在Linux系统中,tree命令主要用于以树状图列出目录的内容.执行tree命令之后,它会列出指定目录下的所有文件,包括子目录的文件.那么Linux tree命令作用是什么?小编通过以下内容为大家介绍 ...

  • Linux uptime命令作用是什么?

    众所周知,Linux是一个功能强大.性能全面的多用户.多任务操作系统,拥有非常丰富的命令集,任何一个Linux工程师都必须掌握这些命令,这样才可以保证我们的工作有条不紊的进行.在Linux系统中,有一 ...

  • Linux netstat-an命令作用有哪些?

    netstat命令是Linux中非常重要的命令,主要用于查看网络状态,那么Linux里面netstat-an命令作用是什么?以下便是详细的内容介绍. netstat:查看网络状态 命令详解 [命令星级 ...

  • Linux文件命令

    linux中tar命令用法 把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独 ...

  • Linux系统管理命令还有那些?Linux初级入门

    Linux系统管理命令还有什么?想要在Linux运维工作中提高工作效率,除了要提升命令的熟练度之外,还需要提高命令的输入效率,掌握Linux命令快捷键,这样能让你在输入命令时更得心应手.那么Linux ...

  • 对于Linux系统管理命令方面都有哪些?linux命令

    Linux运维人员常用的Linux命令有很多,作为运维人员这些常用命令是必备知识.掌握Linux运维常用命令,工作上会事半功倍,提供Linux运维工作效率.那么对于Linux系统管理命令方面都有哪些? ...

  • Linux wc命令 | 菜鸟教程

    Linux wc命令 Linux 命令大全 Linux wc命令用于计算字数. 利用wc指令我们可以计算文件的Byte数.字数.或是列数,若不指定文件名称.或是所给予的文件名为"-" ...

  • Linux基础命令中,进程相关命令有哪些?

    随着互联网技术的发展,Linux逐步成为了较为热门的职业岗位技术,受到越来越多的企业和个人的喜爱.互联网市场对Linux运维的需求也在增加.Linux命令是Linux运维技能的基础,想要学好Linux ...

  • Linux常用命令大全(非常全!!!)

    日常使用命令 开关机命令 1.shutdown –h now:立刻进行关机 2.shutdown –r now:现在重新启动计算机 3.reboot:现在重新启动计算机 4.su -:切换用户:pas ...