vmstat

     vmstat 统计虚拟内存信息,可以对操作系统的proc、memory、CPU、IO等信息进行统计以呈现给用户。
 
根据操作系统的不同,vmstat的输出结果会有不同。大家可根据自己的环境查找相应的学习资料。
 
我在查找vmstat资料的时候发现,资料讲解的vmstat的输出结果不同:
 
AIX上的输出结果会有如下几列
 
  1. kthr memory page faults cpu
 
 Solaris上的输出结果会有如下几列:
 
  1. procs memory page disk faults cpu
 
 CentOS上的输出结果会有如下几列:
 
  1. procs memory swap io system cpu
 
虽然在学习的过程中走了不少弯路,但还是挺有收获的。开始我在测试机上怎么测试也没能显示出page disk faults字段,挺郁闷,后来发现,介绍这几个字段的系统环境是Solaris。
 
言归正传,学习vmstat,最好是先man一下,然后后到网上查阅资料,学习高人的经验。
 
我的系统环境是CentOS
 
1、vmstat所需软件
 
  1. # uname -a
  2. Linux test02 2.6.18-92.el5PAE #1 SMP Tue Jun 10 19:22:41 EDT 2008 i686 i686 i386 GNU/Linux
  3. # which vmstat
  4. /usr/bin/vmstat
  5. # rpm -qf /usr/bin/vmstat
  6. procps-3.2.7-9.el5
2、vmstat语法
 
  1. vmstat [-a] [-n] [delay [ count]]
  2. vmstat [-f] [-s] [-m]
  3. vmstat [-S unit]
  4. vmstat [-d]
  5. vmstat [-p disk_partition]
  6. vmstat [-V]
不加参数的情况下,vmstat的输出只有一条数据(显示的结果粘过来上下对应的不是很好)
 
  1. # vmstat
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 0 0 0 15173344 159684 1025204 0 0 0 2 1 1 0 0 100 0 0
这个数据是自系统上次重启之后到现在的平均数值。如果需要额外信息就需要使用参数了。
 
2.1 参数简介
 
[-a]
显示 活动(active)和 非活动(inactive)的内存。
 
  1. # vmstat -a
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  3. r b swpd free inact active si so bi bo in cs us sy id wa st
  4. 0 0 0 15173344 257432 1125300 0 0 0 2 1 1 0 0 100 0 0
[ -n ]
只显示头信息,不周期性显示。这里没有测试出-n的作用,貌似有和没有,结果都一样。
 
[ -f ]
显示自开机以来forks的总数,包括fork、vfork和clone system calls,总数和tasks创建的数量是一致的。
 
  1. # vmstat -f
  2. 662900 forks
  3. # vmstat -f
  4. 662901 forks
  5. # vmstat -f
  6. 662902 forks
  7. # vmstat -f
  8. 662903 forks
[ -s ]
显示各种事件计数器表和内存统计信息,这显示不重复。
 
  1. # vmstat -s
  2. 16621896 total memory
  3. 1450164 used memory
  4. 1126060 active memory
  5. 257436 inactive memory
  6. 15171732 free memory
  7. 159696 buffer memory
  8. 1025228 swap cache
  9. 10241428 total swap
  10. 0 used swap
  11. 10241428 free swap
  12. 407585 non-nice user cpu ticks
  13. 99282 nice user cpu ticks
  14. 507104 system cpu ticks
  15. 4025968737 idle cpu ticks
  16. 3367298 IO-wait cpu ticks
  17. 179918 IRQ cpu ticks
  18. 70168 softirq cpu ticks
  19. 0 stolen cpu ticks
  20. 1279463 pages paged in
  21. 99068439 pages paged out
  22. 0 pages swapped in
  23. 0 pages swapped out
  24. 840368546 interrupts
  25. 505464033 CPU context switches
  26. 1296116054 boot time
  27. 662891 forks
 
[ -m ]
显示slabinfo,好像是缓存相关的,对这个完全不懂。可以对比一下/proc/slabinfo的内容。
内容过多,就不粘贴过来了。
 
[-V]
显示版本信息。
 
  1. # vmstat -V
  2. procps version 3.2.7
 
[ -d ]
显示磁盘数据(disk statistics)
 
  1. # vmstat -d
  2. disk- ------------reads------------ ------------writes----------- -----IO------
  3. total merged sectors ms total merged sectors ms cur sec
  4. ram0 0 0 0 0 0 0 0 0 0 0
  5. ram1 0 0 0 0 0 0 0 0 0 0
  6. ram2 0 0 0 0 0 0 0 0 0 0
  7. ram3 0 0 0 0 0 0 0 0 0 0
  8. ram4 0 0 0 0 0 0 0 0 0 0
  9. ram5 0 0 0 0 0 0 0 0 0 0
  10. ram6 0 0 0 0 0 0 0 0 0 0
  11. ram7 0 0 0 0 0 0 0 0 0 0
  12. ram8 0 0 0 0 0 0 0 0 0 0
  13. ram9 0 0 0 0 0 0 0 0 0 0
  14. ram10 0 0 0 0 0 0 0 0 0 0
  15. ram11 0 0 0 0 0 0 0 0 0 0
  16. ram12 0 0 0 0 0 0 0 0 0 0
  17. ram13 0 0 0 0 0 0 0 0 0 0
  18. ram14 0 0 0 0 0 0 0 0 0 0
  19. ram15 0 0 0 0 0 0 0 0 0 0
  20. sda 78933 11718 2558111 196860 7323094 17437763 198087270 103643068 0 40409
  21. sr0 0 0 0 0 0 0 0 0 0 0
  22. md0 0 0 0 0 0 0 0 0 0 0
[ -D ]
显示磁盘统计表(disk table)
 
  1. # vmstat -D
  2. 19 disks
  3. 3 partitions
  4. 78933 total reads
  5. 11718 merged reads
  6. 2558111 read sectors
  7. 196860 milli reading
  8. 7323091 writes
  9. 17437754 merged writes
  10. 198087174 written sectors
  11. 103643051 milli writing
  12. 0 inprogress IO
  13. 40409 milli spent IO
 
[ -S 单位 ]
k:1000
K:1024 (默认为K)
m:1000000
M:1048576
比较:k和K
 
  1. # vmstat -S k
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 0 0 0 15536107 163528 1049833 0 0 0 2 1 1 0 0 100 0 0
  5. # vmstat -S K
  6. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  7. r b swpd free buff cache si so bi bo in cs us sy id wa st
  8. 0 0 0 15173840 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
 
[ -p 分区 ]
显示磁盘分区数据(disk partition statistics )
 
  1. # vmstat -p /dev/sda1
  2. sda1 reads read sectors writes requested writes
  3. 957 1918 19 38
  4. # vmstat -p /dev/sda2
  5. sda2 reads read sectors writes requested writes
  6. 88375 2554274 24766385 198131080
  7. # vmstat -p /dev/sda3
  8. sda3 reads read sectors writes requested writes
  9. 1268 1439 0 0
[ delay [ count ] ]
delay是间隔,count显示多少次信息。可以和上面的某些参数结合使用。
 
  1. # vmstat 1 3
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 0 0 0 15171484 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
  5. 1 0 0 15171484 159696 1025228 0 0 0 0 1013 77 0 0 100 0 0
  6. 0 0 0 15171484 159696 1025228 0 0 0 48 1038 194 0 0 100 0 0
  7. # vmstat 2 4
  8. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  9. r b swpd free buff cache si so bi bo in cs us sy id wa st
  10. 0 0 0 15173344 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
  11. 0 0 0 15173344 159696 1025228 0 0 0 52 1037 116 0 0 100 0 0
  12. 0 0 0 15173344 159696 1025228 0 0 0 0 1027 109 0 0 100 0 0
  13. 0 0 0 15171484 159696 1025228 0 0 0 32 1023 131 0 0 100 0 0
vmstat 1 3 是每1秒显示一次,共显示3次
vmstat 2 4 是每2秒显示一次,共显示4次
 
持续更新中,后续会有vmstat输出结果解释。

 
参考资料:

Linux性能分析 vmstat基本语法的更多相关文章

  1. Linux性能分析 vmstat输出

    vmstat输出     1.linux系统下vmstat输出   vmstat的输出分为以下几种模式:   (1).VM MODE (普通选项) (2).DISK MODE(-d选项) (3).DI ...

  2. linux系统性能调优第一步——性能分析(vmstat)

    linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介 ...

  3. 【转】一文掌握 Linux 性能分析之 I/O 篇

    [转]一文掌握 Linux 性能分析之 I/O 篇 这是 Linux 性能分析系列的第三篇,前两篇分别讲了 CPU 和 内存,本篇来看 IO. IO 和 存储密切相关,存储可以概括为磁盘,内存,缓存, ...

  4. 【转】一文掌握 Linux 性能分析之内存篇

    [转]一文掌握 Linux 性能分析之内存篇 前面我们已经学习了 CPU 篇,这篇来看下内存篇. 01 内存信息 同样在分析内存之前,我们得知到怎么查看系统内存信息,有以下几种方法. 1.1 /pro ...

  5. 【转】一文掌握 Linux 性能分析之 CPU 篇

    [转]一文掌握 Linux 性能分析之 CPU 篇 平常工作会涉及到一些 Linux 性能分析的问题,因此决定总结一下常用的一些性能分析手段,仅供参考. 说到性能分析,基本上就是 CPU.内存.磁盘 ...

  6. 【原创】一文掌握 Linux 性能分析之 I/O 篇

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 一文掌握 Li ...

  7. 一文掌握 Linux 性能分析之 CPU 篇

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 平常工作会涉及 ...

  8. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  9. Linux性能分析的前60000毫秒【转】

    Linux性能分析的前60000毫秒 为了解决性能问题,你登入了一台Linux服务器,在最开始的一分钟内需要查看什么? 在Netflix我们有一个庞大的EC2 Linux集群,还有非常多的性能分析工具 ...

随机推荐

  1. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(三)

    MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...

  2. python 枚举Enum类的使用

    1. 枚举的定义 首先,定义枚举要导入enum模块. 枚举定义用class关键字,继承Enum类. 示例代码: from enum import Enum class Color(Enum): red ...

  3. ue使用

    快捷键CTRL+V:输入代码提示自动补全 编辑器Ultraedit快捷键    说到编辑器的快捷键,VIM是无与伦比的.要反对,也得是带脚踏板的EmaCS.UE还是有差距的,很大差距.注意:VIM是开 ...

  4. Python学习(003)-列表[]

    列表[] a=['张帅','李四','王五','陈六','黄旗'] print(a[2])    王五 print(a[1:3])   ['李四','王五']  左包含,右不包含 print(a[1: ...

  5. 触电(by quqi99)

    高压电线杆相关的触电方式主要是两种: 一是跨步电压,高压电线落在地面时,如果人恰好在这个范围内步行时,就会从一只脚到跨下再到另一只脚到地形成回路,这叫跨步电压.步子越大,电压越大(以落地点为圆心向外电 ...

  6. HAWQ + MADlib 玩转数据挖掘之(六)——主成分分析与主成分投影

    一.主成分分析(Principal Component Analysis,PCA)简介 在数据挖掘中经常会遇到多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性.例如,网站的" ...

  7. 20155304 2016-2017-2 《Java程序设计》第九周学习总结

    20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...

  8. HDU1702:ACboy needs your help again!

    ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  9. ElasticSearch—分页查询

    ElasticSearch查询—分页查询详解 Elasticsearch中数据都存储在分片中,当执行搜索时每个分片独立搜索后,数据再经过整合返回.那么,如何实现分页查询呢? 按照一般的查询流程来说,如 ...

  10. android 自动拨打电话 挂断电话代码

    页面布局文件代码  (  res下面的layout下面的activity_main.xml代码 ) <RelativeLayout xmlns:android="http://sche ...