性能测试必备的 Linux 命令系列,可以看下面链接的文章哦

vmstat 介绍

  • Virtual Meomory Statistics,报告虚拟内存统计信息
  • 会统计进程信息、内存、交换区、IO、磁盘、CPU 等数据

vmstat 语法格式

vmstat [options] [delay [count]]
  • options:命令行参数,可选
  • delay:间隔多久统计一次数据,可选
  • count:统计一次,可选
  • 注意:若只传了 delay,则统计次数是无限次,结束统计后会打印本次所有数据的平均值

小栗子

vmstat  

每隔 1s 统计打印一次数据,统计无限次

vmstat  

每隔 2s 统计打印一次数据,共统计 5 次

vmstat 命令行参数

简写 完整写法 参数后是否要指定一个值 作用
-a  --active F 显示活动和非活动内存
-n --one-header F 仅显示一次标题,而不是定期显示
-s --stats F 获取内存、CPU、交换区、中断次数、上下文切换次数等信息
-d --disk F 获取磁盘的详细信息(读写信息)
-D --disk-sum F 获取磁盘的一些摘要信息
-P --partition device T(device) 有关分区的详细统计信息
-S --unit character T(character)
  • 输出数值的单位
  • character 取:k, K, m or M (default is K)
  • k:1000
  • K:1024
  • m:1000000
  • M:1048576
-t --timestamp F 加一列显示当前时间
-V --version F 版本
-h --help F 帮助文档

vmstat 统计数据的字段说明

共有 6 个模块

procs:进程状态

字段 字段说明
r 处于 Runnable 状态的进程数量
b 处于不可中断睡吗状态的进程数量

memory:内存信息

字段 字段说明
swpd 已用虚拟内存
free 空闲内存
buff 用于缓冲区的内存
cache 用于缓存的内存
inact 不活动的内存量(-a)
active 活动的内存量(-a)

swap:交换区

字段 字段说明
si 每秒从交换区写到内存的大小
so 每秒写入交换区的内存大小

io:io 读写信息

现在的Linux版本块的大小为1024bytes

字段 字段说明
bi 每秒读取的块数
bo 每秒写入的块数

system:系统信息

字段 字段说明
in 每秒中断数,包括时钟中断
cs 每秒上下文切换次数

CPU:CPU 详细信息

这些是总 CPU 时间的百分比

字段 字段说明
us 用户态进程的 CPU 使用率
sy 内核态进程的 CPU 使用率
id 空闲 CPU 百分比
wa

等待 IO 的 CPU 使用率

st 从虚拟机偷取的 CPU 百分比

vmstat 数据来源

主要来自这三个文件

  1. /proc/meminfo
  2. /proc/stat
  3. /proc/*/stat
vmstat

这些信息主要来自 /proc/stat

vmstat -s 

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

vmstat -d

这些信息主要来自于 /proc/diskstats

vmstat 的其他用法

打印活动内存和不活动内存量

vmstat -a  

以 MB 单位输出结果

vmstat -S M  

以 MB 单位输出各事件计数器和内存的统计信息

vmstat -s -S M 

vmstat 的注意事项

  • vmstat 不需要特殊权限
  • vmstat 报告旨在帮助确定系统瓶颈,所以它不会将自己视为正在运行的进程
  • 当前所有的 Linux 块都是 1024 字节, 旧内核可能报告的块为 512 字节,2048 字节或 4096 字节

stat 命令家族(1)- 详解 vmstat的更多相关文章

  1. Linux常用命令及部分详解

    1.总结部分 常用指令 ls      显示文件或目录 -l            列出文件详细信息l(list) -a            列出当前目录下所有文件及目录,包括隐藏的a(all) m ...

  2. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  3. telnet 命令使用方法详解,telnet命令怎么用

    telnet 命令使用方法详解,telnet命令怎么用? 文章类型:电脑教程 原创:天诺时空   什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协 ...

  4. ping命令执行过程详解

    [TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...

  5. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  6. 以太坊客户端Geth命令用法-参数详解

    Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具. 熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册. 本文主要是对geth help的翻译 ...

  7. 每周一个linux命令之---uptime详解

    每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...

  8. 【linux】linux命令grep + awk 详解

    linux命令grep  +  awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...

  9. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  10. VLC命令行参数详解

    VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify mul ...

随机推荐

  1. web常用的unicode字符集

    也不知道出处

  2. easyui的组合网格:combogrid的选中事件

    jQuery EasyUI的API文档中写到: “数据表格下拉框事件完全扩展自combo(自定义下拉框)和datagrid(数据表格)” 这也就是说,我们完全可以将combo和datagrid的事件拿 ...

  3. 怎样才能做好软件测试——Python自动化测试工程师七年感悟

    即使不想在文章的开头过分的正经严肃,但这是一个十分正经技术类规划类的分享.不讲笑话也不讲故事,直接进入主题. 如何学好软件测试?反推一下作为一名优秀的软件测试工程师需要什么能力.   学习测试讲究实践 ...

  4. ASP.NET Core静态文件处理源码探究

    前言     静态文件(如 HTML.CSS.图像和 JavaScript)等是Web程序的重要组成部分.传统的ASP.NET项目一般都是部署在IIS上,IIS是一个功能非常强大的服务器平台,可以直接 ...

  5. 线性dp 之 奶牛渡河

    题目描述 Farmer John以及他的N(1 <= N <= 2,500)头奶牛打算过一条河,但他们所有的渡河工具,仅仅是一个木筏. 由于奶牛不会划船,在整个渡河过程中,FJ必须始终在木 ...

  6. echarts 实战 : 怎么处理特殊的图表数字 label ?

    所谓Label,就是在图表上面显示的那个数字. 但有的时候我们需要柱状图堆叠. 那如果我们需要所有数字都在外面,并且以 320/210/310/410/1320 这样的形式显示呢? 那么 echart ...

  7. 太慢不能忍!CPU又拿硬盘和网卡开刀了!

    总线技术 我是CPU一号车间的阿Q,最近为了一件事儿搞得我挺烦的. 当初我们CPU工厂刚刚来到主板上建厂时,那时候主板上的单位还不多,跟我们打交道最多的就是内存那家伙了. 后来,键盘.鼠标.硬盘.网卡 ...

  8. 深入探究JVM之内存结构及字符串常量池

    前言 Java作为一种平台无关性的语言,其主要依靠于Java虚拟机--JVM,我们写好的代码会被编译成class文件,再由JVM进行加载.解析.执行,而JVM有统一的规范,所以我们不需要像C++那样需 ...

  9. 题解 洛谷 P3210 【[HNOI2010]取石头游戏】

    考虑到先手和后手都使用最优策略,所以可以像对抗搜索一样,设 \(val\) 为先手收益减去后手收益的值.那么先手想让 \(val\) 尽可能大,后手想让 \(val\) 尽可能小. 继续分析题目性质, ...

  10. java并发编程[持续更新]

    目录 java并发编程 1.常用类介绍 Semaphore 2.名词解释 2.1 线程安全 2.2 可重入锁和不可重入锁 java并发编程 1.常用类介绍 Semaphore Semaphore 类是 ...