vmstat

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

【语法格式】

vmstat foption [delay fcountl]
vmstat  [选项]   [时间间隔(次数]
 
1)在vmstat命令及后面的选项里,每个元素之间都至少要有一个空格。
2)delay表示两次输出之间的间隔时间。
3)count表示按照delay指定的时间间隔统计的次数。

【选项说明】

-a    显示活跃和非活跃内存
-f    显示从系统启动至今的fork进程数量
-m    显示slab信息
-n    只在开始时显示一次各字段名称
-s    显示内存相关统计信息及多种系统活动数量深
-d    显示磁盘相关统计信息
-p    显示指定磁盘分区统计信息
-S    使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024byte)
-t     统计信息带上时间戳
 
 
[root@lewen ~]# vmstat   #<行如果省略“间隔时间”和“次数”的参数,则仅显示一次报告后
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st 以下是命令结果的详细说明。
第1列:procs。
  r列表示运行和等待CPU时间片的进程数。
  b列表示正在等待资源的进程数。
第2列:memory。
  swpd列表示使用虚拟内存的大小。
  free列表示当前空闲的物理内存数量。
  buff列表示buffers的内存数量。
  cache列表示cache的内存数量。
第3列:swap。
  si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
  so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
第4列:I/O项显示磁盘读写状况。
  bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。
  bo列表示写入块设备的数据总量(即写磁盘)(块/s)。
第5列:system显示采集间隔内发生的中断数。
  in列表示在某一时间间隔中观测到的每秒设备中断数。
  cs列表示每秒产生的上下文切换次数。
第6列:CPU项显示了CPU的使用状态。
  us列显示了用户进程消耗的CPU时间百分比。
  sy列显示了系统(内核)进程消耗的CPU时间百分比。
  id列显示了CPU处在空闲状态的时间百分比。
  wa列显示了I/0等待所占用的CPU时间百分比。
  st列显示了虚拟机占用的CPU时间的百分比。

显示活跃和非活跃内存

[root@lewen ~]# vmstat -aS M
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st 使用-a选项显示活跃和非活跃内存时,所显示的内容除去增加了inact和active之外,其他显示内容与范例11-12相同。
memory列增加了inact和active两列,其说明具体如下。
inact:非活跃的内存大小(当使用-a选项时显示)。
active:活跃的内存大小(当使用-a选项时显示)。

查看内存使用的详细信息

[root@lewen ~]# vmstat -s
4026348 K total memory
440568 K used memory
673792 K active memory
297756 K inactive memory
2792680 K free memory
2108 K buffer memory
790992 K swap cache 这些信息分别来自于/proc/meminfo、/proc/stat和/proc/vmstat。

查看磁盘的读/写

[root@lewen ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda
sr0
dm-
dm- 这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,系统一般会把多个连接/邻近的读/写请求合并到一起来操作。

查看/dev/sda1磁盘的读写统计信息

[root@lewen ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes 这些信息主要来自于/proc/diskstats。各列的说明具体如下。
reads:来自于该分区的读的次数。
read sectors:来自于该分区的读扇区的次数。
writes:来自于该分区的写的次数。
requested writes:来自于该分区的写请求次数。
 
 

11.5 vmstat:虚拟内存统计的更多相关文章

  1. Linux 系统管理命令 - vmstat - 虚拟内存统计

    命令详解 重要星级: ★★★★☆ 功能说明: vmstat 是 Virtual Memory Statistics ( 虚拟内存统计 ) 的缩写,利用 vmstat 命令可以对操作系统的内存信息.进程 ...

  2. Linux vmstat:报告虚拟内存统计的工具

    众所周知,计算机必须有称之为RAM(随机访问内存)的存储器使得计算机工作.RAM指的是插在计算机主板上的物理存储.这里的RAM被用于加载像浏览器.文字处理器这类的程序,实际上,你使用的程序都运行在内存 ...

  3. S11 Linux系统管理命令

    11.1 lsof:查看进程打开的文件 11.2 uptime:显示系统的运行时间及负载 11.3 free:查看系统内存信息 11.4 iftop:动态显示网络接口流量信息 11.5 vmstat: ...

  4. 18 个命令&工具帮你定位 Linux 性能问题

    1.TopTop命令是一个性能监控程序,它按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果.这条命令显示了CPU的使用率.内存使用率.交换内存使用大小.高速缓存使用大小. ...

  5. 20个命令行工具监控Linux系统性能

    作为Linux/Unix 系统管理员需要掌握一些常用的工具用于检测系统性能.在这里,dodo为大家推荐非常20个有用的并且最常用的命令行系统监视工具: 1. top -Linux系统进程监控 top ...

  6. 你值得拥有:25个Linux性能监控工具

    一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能 ...

  7. Linux下/proc目录简介

    文章转载至:http://blog.csdn.net/zdwzzu2006/article/details/7747977 1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在 ...

  8. 监控Linux性能的18个命令行工具

    监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...

  9. Linux 性能监控的18个命令行工具

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...

随机推荐

  1. JVM内容梳理

  2. Python与设计模式之创建型模式及实战

    用Python学习一下设计模式,如果很枯燥的话,就强行能使用的就用一下.设计模式参考Python与设计模式-途索 1. 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点. import ...

  3. 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

    下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P2 ...

  4. PHP实现JS点击点击定位

    点击class='women' 定位到 class='m=foot'$(".women").on('click',function(){ $("html, body&qu ...

  5. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)

    概述 发起一个http请求的过程就是建立一个socket通信的过程. 我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式. curl "http://w ...

  6. git 修改客户端用户名和密码

    1.修改某个具体项目中的用户名密码 vim xx/{yourProject dir }/.git/.git-credentials 在.git-credentials文件中配置用户名密码 https: ...

  7. ---perl 模块安装方法

    http://blog.csdn.net/lincy100/article/details/7333794 $ perl -MCPAN -e shell install Log::Log4perlin ...

  8. Springboot 热部署问题。亲测可用。

    本人开发使用的是Mac系统,windows应该类似.主要是 spring-boot-devtools的使用 参考:mac下的idea设置,是不是有疑问,既然别人写好了,为啥你还要再来一次,因为我使用了 ...

  9. 如何学习DeepLearning

    多年来,科学家们为了搞清楚神经网络的运行机制,进行了无数次实验.但关于神经网络的内在运行方式,目前还没有系统性的理论,没有具体的路线可以指引你获得更好的性能.简单地下载开源工具包直接使用并不能跑出很棒 ...

  10. (转)VS2010反编译dll之后存在的resource修改为resx

    https://www.cnblogs.com/tangbaono1/p/6897183.html 1.找到安装VS的时候,存在的ResGen.exe,我的电脑是win7的,路径是在C:\Progra ...