Linux vmstat 命令

Vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

> vmstat

[ceshi@aaaaaaaa ~]$ vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 323208 290276 5500528    0    0     0     2    0    0  0  0 100  0  0

一般、vmstat工具的使用是通过两个参数来完成的、

第一个参数为采样的时间、单位是秒、第二个采样的次数

> vmstat 2 1   // 表示:每隔两秒、采集一次服务器状态

[ceshi@aaaaaaaa ~]$ vmstat 2 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 323084 290276 5500528    0    0     0     2    0    0  0  0 100  0  0

实际项目中、我们一般是在一段时间内一直监控、不想监控、直接结束就ok;

> vmstat 2  // 表示每隔两秒采集一次数据、一直采集(直到主动结束程序)

[ceshi@aaaaaaaa ~]$ vmstat 2

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 323208 290276 5500528    0    0     0     2    0    0  0  0 100  0  0

0  0      0 323192 290276 5500528    0    0     0     0  248  341  0  0 100  0  0

0  0      0 323192 290276 5500528    0    0     0     0  225  333  0  0 100  0  0

2  0      0 323192 290276 5500528    0    0     0     0  225  332  0  0 100  0  0

^C

具体的、每一个参数所代表的内容如下:

r

表示运行队列;

当这个值超过了CPU数目,就会出现CPU瓶颈了;

一般负载超过了3就高了、超过了5个就比较高、超过了10个就不正常了、服务器就比较危险了;

top的负载类似每秒运行的队列。如果队列过大、表示CPU很忙、

b

表示阻塞的进程、

swpd

表示虚拟内存使用的大小

如果大于0、表示机器物理内存不足、如果不是内存泄漏的原因、就应该升级内存、或者迁移内存;

free

表示空闲内存的大小

buff

表示用来存储目录里面的内容、权限等缓存;

cache

表示缓存的大小、cache直接用来记录我们打开的文件、给文件做缓存;

(将空闲的物理内存的一部分拿来坐文件和目录的缓存、提高程序执行的性能)

(当程序使用内存时、buff/cache会很快地被使用)

si

表示每秒从磁盘读入虚拟内存的大小;

如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉;

so

表示每秒虚拟内存写入磁盘的大小;

bi

表示块设备每秒接收的块数量;

这里的块设备是指系统上所有的磁盘和其他块设备;

bo

表示块设备每秒发送的块数量;

例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

in

表示每秒CPU的中断次数、包括时间中断;

cs

表示每秒上下文切换次数、

当调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换;

这个值要越小越好,太大了,要考虑调低线程或者进程的数目;

us

表示用户CPU时间、

sy

表示系统CPU时间;

如果太高,表示系统调用时间长

id

表示空闲CPU时间;

一般的 id + us + sy = 100

可以理解为:id是空闲CPU使用率、us是用户CPU使用率、sy是系统CPU使用率;

wt

表示等待IO、CPU时间;

LINUX 查看当前系统的内存使用情况 vmstat的更多相关文章

  1. LINUX 查看当前系统的内存使用情况

    # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KB used 已使用的内存 7852484KB free 空闲的内存数 205480KB shared 当 ...

  2. LINUX 查看当前系统的内存使用情况 free

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057 ...

  3. 如何查看centos系统cpu/内存使用情况

    1.查看硬盘 [mushme@investide ~]$ df -ah 文件系统              容量  已用 可用 已用% 挂载点 /dev/cciss/c0d0p1     123G   ...

  4. linux 查看Java 进程的内存使用情况

    top -b -n 1 | grep java| awk '{print "PID:"$1",mem:"$6",CPU percent:"$ ...

  5. linux下对进程按照内存使用情况进行排序

    linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-proce ...

  6. linux 查看cpu个数,内存情况,系统版本

    查看cpu个数 总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 查看物理CPU个数 cat /proc/cpuinfo ...

  7. Linux下查看根目录各文件内存占用情况

    一.服务器运行一点时间后各种的项目文件,日志文件,数据库备份登,会越来越多,在linux下可以使用 du 和 df 命令查看. 1.df -h 命令查看整体磁盘使用情况 2. 使用 du -ah -- ...

  8. 编程获取linux的CPU使用的内存使用情况

    Linux可用下top.ps命令检查当前的cpu.mem用法.下面简单的例子: 一.采用ps查看资源消耗的过程 ps -aux 当您查看进程信息,第三列是CPU入住. [root@localhost ...

  9. Linux 带宽、CPU、内存占用情况

    iftop 查看带宽占用情况(总)yum install -y iftop 安装iftopnethogs 查看进程流量 curl http://218.5.73.233:8060/ip.php 查看出 ...

随机推荐

  1. python+unittest+requests+HTMLRunner编写接口自动化测试集

    问题描述:搭建接口测试框架,执行用例请求多个不同请求方式的接口 实现步骤: ① 创建配置文件config.ini,写入部分公用参数,如接口的基本url.测试报告文件路径.测试数据文件路径等配置项 [D ...

  2. Vue项目在真机测试

    一:修改config 找到config文件夹下的index.js文件并修改为: module.exports = { dev: { host: '0.0.0.0' // 原为: hotst: 'loc ...

  3. javascript高级程序设计第3版——第一章概括

    最近发现Xmind思维导图是个好东西,刚好开始看书,被用来归纳最好不过了

  4. 深入理解vue-router之keep-alive

    keep-alive 简介 keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染. 用法也很简单: ? 1 2 3 4 5 <keep-alive> ...

  5. Harries-高性能分布式Asp.net通信框架

    http://www.harries.cn/ 轻量级.免费.高并发的ASP.NET分布式通信框架 一.Harries简介: Harries Communication Framework 是一款基于C ...

  6. LeetCode刷题 fIRST MISSING POSITIVE

    Given an unsorted integer array,find missing postive integer. For example , Given [1,2,0]return 3, a ...

  7. LNMP(一)

    第二十课LNMP(一) 目录 一.LNMP架构介绍 二.MySQL安装 三.PHP安装 四.Nginx介绍 五.Nginx安装 六.扩展 一.LNMP架构介绍 之前已经学习过LAMP架构,与LAMP相 ...

  8. web.xml配置以及一些详解

    web.xml的根元素定义如下所示(代表当前使用哪个模版): <?xml version="1.0" encoding="UTF-8"?> < ...

  9. noj装载问题

    描述 有两艘船,载重量分别是c1. c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2.确定是否有可能将所有集装箱全部装入两艘船.   输入 多个测例,每个测例的输入占 ...

  10. 有关导出Excel特殊字符的问题

    在导出Excel的时候,如果在一个单元格的最前面有一个双引号(英文状态下),这个单元格一定要将其关闭这个双引号,否则会自动向下匹配同列单元格的双引号,从而导致串行,出现错误数据