vmstat-观察进程上线文切换
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-观察进程上线文切换的更多相关文章
- [转帖]进程上下文频繁切换导致load average过高
进程上下文频繁切换导致load average过高 2016年6月26日admin发表评论阅读评论 http://www.361way.com/linux-context-switch/5131.ht ...
- 个人小爱好:Operating System: three easy pieces—第6章第3小节问题2#进程间的切换
问题2#:进程间的切换 直接执行的下一个问题是如何实现进程的切换.进程的切换按理说是挺简单的,对吧?不就是决定哪一个进程应该停止,哪一进程应该开始而已,才多大点事情啊?但,事实上这还真的有点棘手:尤其 ...
- linux0.11内核源码——进程各状态切换的跟踪
准备工作 1.进程的状态有五种:新建(N),就绪或等待(J),睡眠或阻塞(W),运行(R),退出(E),其实还有个僵尸进程,这里先忽略 2.编写一个样本程序process.c,里面实现了一个函数 /* ...
- C# 调用word进程操作文档关闭进程
C# 调用word进程操作文档关闭进程 作者:Jesai 时间:2018-02-12 20:36:23 前言: office办公软件作为现在主流的一款办公软件,在我们的日常生活和日常工作里面几乎每天都 ...
- 进程上下文频繁切换导致load average过高
一.问题现象 现网有两台虚拟机主机95%的cpu处于idle状态,内存使用率也不是特别高,而主机的load average达到了40多. 二.问题分析 先在主机上通过top.free.ps.iosta ...
- Linux进程的前后台切换
一.Linux前后台切换的相关命令: 1.& 在命令的后面加上这个符合,让命令进程在后台运行 例如: #ping 127.0.0.1 & // 此时命令ping ...
- Day035--Python--管道, Manager, 进程池, 线程切换
管道 #创建管道的类: Pipe([duplex]):在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象,强调一点:必须在产生Process ...
- 35、输入框(UITextField)密码明暗文切换
- (IBAction)pwdTextSwitch:(UIButton *)sender { // 前提:在xib中设置按钮的默认与选中状态的背景图 // 切换按钮的状态 sender.selecte ...
- 配置thinkphp对mysql线上线下切换不同环境的配置 - (mysql-thinkphp) (1)
1.先打印出配置项的信息,在Index控制器下面的index->index里面设置 namespace app\index\controller; class Index { public fu ...
随机推荐
- Win/Mac 键位映射 & 在 Mac 上更改“键盘”偏好设置
Win/Mac 键位映射 & 在 Mac 上更改"键盘"偏好设置 PC键盘 在Mac下Command/Option键切换 https://support.apple.com ...
- 算法型稳定币USDN有哪些使用功能
众所周知,稳定币是基于区块链的支付工具,旨在实现最终用户要求的价格稳定性.有些稳定币利用法定货币作为抵押资产.其他则使用一系列其他非法定类型的抵押资产.还有一些尝试使用算法来实现价格稳定性而根本没有抵 ...
- 专注于大数据分析和数字基建,星盟UICI切入资产管理领域
资产管理行业体系庞大,按领域可以大致分为公募.私募.券商.保险.银行.信托六大领域.面对六大领域百万亿级市场,近年来,也出现了不少初创公司针对资产管理的细分领域提供专有解决方案.而星盟全球投资公司就是 ...
- 阿里面试这样问:redis 为什么把简单的字符串设计成 SDS?
2021开工第一天,就有小伙伴私信我,还给我分享了一道他面阿里的redis题(这家伙绝比已经拿到年终奖了),我看了以后觉得挺有意思,题目很简单,是那种典型的似懂非懂,常常容易被大家忽略的问题.这里整理 ...
- 15_MySQL·WHERE子句中条件执行的顺序
- 完全基于node的web应用
完全基于node的web应用 node js web fs fs文件路径 事实上通常"正确的方式"一般都不简单. 用例 模块 基本http服务器 基于事件驱动回调 模块化serve ...
- C#.NET操作数据库通用类
下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...
- C语言相关的基础字符串函数
C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abce ...
- 剑指 Offer 10- II. 青蛙跳台阶问题
剑指 Offer 10- II. 青蛙跳台阶问题 Offer 10- II 题目描述: 动态规划方程: 循环求余: 复杂度分析: package com.walegarrett.offer; impo ...
- 什么是ETL?
一.ETL概念之背景 随着企业的发展,目前的业务线越来越复杂,各个业务系统独立运营.例如:CRM系统只会生产CRM的 数据:Billing只会生产Billing的数据.各业务系统之间只关心自己的数据, ...