vmstat 是一款指定采样周期和次数的功能性监测工具,我们可以看到,它不仅可以统计内存的使用情况,还可以观测到 CPU 的使用率、swap 的使用情况。但 vmstat 一般很少用来查看内存的使用情况,而是经常被用来观察进程的上下文切换。

语法格式

vmstat [options] [delay [count]]

选项参数说明

参数 说明
-f 显示系统启动后,创建的进程总数
-m 显示 slab 信息
-s 显示内存的统计数据
-n 头信息仅显示一次
-d 显示磁盘的状态
-p 后接磁盘分区,表示显示指定磁盘分区的状态
-S 后接 k、K、m 或 M,表示输出字节的单位,默认 KB,不单独使用

delay:为一个数字,表示状态信息刷新的时间间隔

count:为一个数字,表示显示报告的次数

示例:每隔 2 秒刷新一次,共显示 5 次结果

[root@centos /var/lib/rpm]#vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1427392 5380 281816 0 0 14 6 56 91 0 0 100 0 0
0 0 0 1427300 5380 281816 0 0 0 0 49 73 0 0 100 0 0
0 0 0 1427300 5380 281816 0 0 0 0 49 75 0 0 100 0 0
0 0 0 1427332 5380 281816 0 0 0 0 47 79 0 0 100 0 0
0 0 0 1427364 5380 281816 0 0 0 1 52 88 0 1 100 0 0
[root@centos /var/lib/rpm]#

解释:

procs 表示进程段

  • r:表示可运行(正在运行或等待运行)进程的个数,和核心数有关;cpu上等待运行的任务的队列长度

  • b:表示处于不可中断睡眠状态的进程个数(被阻塞的任务队列长度)

memory 表示内存段

  • swpd:虚拟内存(交换内存)的使用总量

  • free:空闲的物理内存总量

  • buff:用来作为缓冲(buffer)的内存总量

  • cache: 用于 cache 的内存总量

swap 交换分区段

  • si:从磁盘交换到内存的数据速率(kb/s)

  • so:从内存交换到磁盘的数据速率(kb/s)

io 段

  • bi:从块设备读入数据到系统的速率(kb/s)

  • bo:保存数据至块设备的速率(kb/s)

system 段

  • in:interrupts,中断速率(每秒中断数),包括时钟中断
  • cs:context switch,进程切换(每秒上下文切换次数)速率

cpu 段

  • us:user space 非内核代码运行的时间,即,用户空间进程所占 cpu 的百分比

  • sy:system:内核代码运行的时间,即,内核系统进程执行时间百分比

  • id:idle:空闲时间百分比,包括 io 等待时间

  • wa:wait:i/o 等待时间百分比

  • st:stolen 运行虚拟机窃取的时间,即被虚拟化技术所偷走的时间

vmstat-观察进程上线文切换的更多相关文章

  1. [转帖]进程上下文频繁切换导致load average过高

    进程上下文频繁切换导致load average过高 2016年6月26日admin发表评论阅读评论 http://www.361way.com/linux-context-switch/5131.ht ...

  2. 个人小爱好:Operating System: three easy pieces—第6章第3小节问题2#进程间的切换

    问题2#:进程间的切换 直接执行的下一个问题是如何实现进程的切换.进程的切换按理说是挺简单的,对吧?不就是决定哪一个进程应该停止,哪一进程应该开始而已,才多大点事情啊?但,事实上这还真的有点棘手:尤其 ...

  3. linux0.11内核源码——进程各状态切换的跟踪

    准备工作 1.进程的状态有五种:新建(N),就绪或等待(J),睡眠或阻塞(W),运行(R),退出(E),其实还有个僵尸进程,这里先忽略 2.编写一个样本程序process.c,里面实现了一个函数 /* ...

  4. C# 调用word进程操作文档关闭进程

    C# 调用word进程操作文档关闭进程 作者:Jesai 时间:2018-02-12 20:36:23 前言: office办公软件作为现在主流的一款办公软件,在我们的日常生活和日常工作里面几乎每天都 ...

  5. 进程上下文频繁切换导致load average过高

    一.问题现象 现网有两台虚拟机主机95%的cpu处于idle状态,内存使用率也不是特别高,而主机的load average达到了40多. 二.问题分析 先在主机上通过top.free.ps.iosta ...

  6. Linux进程的前后台切换

    一.Linux前后台切换的相关命令:   1.&  在命令的后面加上这个符合,让命令进程在后台运行  例如: #ping 127.0.0.1 &        // 此时命令ping ...

  7. Day035--Python--管道, Manager, 进程池, 线程切换

    管道 #创建管道的类: Pipe([duplex]):在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象,强调一点:必须在产生Process ...

  8. 35、输入框(UITextField)密码明暗文切换

    - (IBAction)pwdTextSwitch:(UIButton *)sender { // 前提:在xib中设置按钮的默认与选中状态的背景图 // 切换按钮的状态 sender.selecte ...

  9. 配置thinkphp对mysql线上线下切换不同环境的配置 - (mysql-thinkphp) (1)

    1.先打印出配置项的信息,在Index控制器下面的index->index里面设置 namespace app\index\controller; class Index { public fu ...

随机推荐

  1. js 实现各种数据结构 APP

    js 实现各种数据结构 APP 常见数据结构: 数组,队列,栈,堆,链表,集合,字典,散列表,树, 图 Array, Queue, Link, Collection, Set,Map, HashMap ...

  2. how to recursively all files in a folder with sudo permissions in macOS

    how to recursively all files in a folder with sudo permissions in macOS write bug OK sudo chmod 777 ...

  3. window resize & resize observer

    window resize & resize observer https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_e ...

  4. Python爬虫_qq音乐示例代码

    import requests url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp' for x in range(5): headers ...

  5. 死磕以太坊源码分析之EVM固定长度数据类型表示

    死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习 ...

  6. 【Notes】现代图形学入门_02

    跟着闫令琪老师的课程学习,总结自己学习到的知识点 课程网址GAMES101 B站课程地址GAMES101 课程资料百度网盘[提取码:0000] 光栅化 着色(Shading) 在图形学中,着色的定义可 ...

  7. 在js中如何将字符串类型的日期("2020-11-30T02:21:42.000+0000")进行格式化

    1.引入方法 import { formatDateNew } from '@/utils' 2.在方法中使用,注意要先将字符串进行new Date(),否则报错date.getFullYear is ...

  8. 异常控制流(csapp)

    [前言]程序按照一定顺序执行称为控制转移.最简单的是平滑流,跳转.调用和返回等指令会造成平滑流的突变.系统也需要能够对系统状态的变化做出反应,这些系统状态不能被内部程序变量捕获但是,操作系统通过使控制 ...

  9. 剑指 Offer 26. 树的子结构

    剑指 Offer 26. 树的子结构 Offer 26 题目详情: 题解分析 解法一: 第一种比较容易想到的解法就是查看这两棵树的前序遍历和中序遍历序列是否都匹配. 因为前序遍历和中序遍历可以唯一确定 ...

  10. 对String Intern()方法的理解

    今天重新看了一点周志明大佬的<深入理解Java虚拟机>,发现这个地方讲的不是很透彻,在网络上看到一些博客基本也都是在搬运原文,搞得一头雾水.弄了半天算是彻底明白了,做一下笔记. 搬运一下原 ...