vmstat 命令详解

作用:vmstat 的含义为显示虚拟内存状态(virtual memor statics),但是它可以报告关于进程,内存,I/O 等系统整体运行状态

选项:

-a 显示活动内页

-f 显示启动后创建的进程总数

-m 显示slab 信息

-n 头信息仅显示一次

-s 以表格方式显示事件计数器和内存状态

-d 报告磁盘状态

-p 显示指定的硬盘分区状态

-S 输出信息的单位

参数

事件间隔:状态信息刷新的时间间隔

次数:  显示报告的次数

实例:

vmstat 3  

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 952092  10236  38704    0    0    47     3   17   24  0  0 99  0  0

 0  0      0 952084  10236  38704    0    0     0     0    5    7  0  0 100  0  0

 0  0      0 952084  10236  38704    0    0     0     0    5    6  0  0 100  0  0

 0  0      0 952084  10236  38704    0    0     0     0    6    8  0  0 100  0  0

 0  0      0 952084  10236  38704    0    0     0     0    5    6  0  0 100  0  0

字段说明

Proc (进程)

*r  :  运行队列中进程数量, 这个值也可以判断是否需要增加CPU。(长期大于1)

*b :  等待IO 的进程数量

Memory (内存)

*swpd : 使用虚拟内存大小,如果swpd 的值不为0 , 但是SI, SO的值长期为0, 不会影响系统性能

*free  :  空闲物理内存大小

*buff  : 用作缓冲的内存大小

*cache : 用作缓存的内存大小, 如果cache的值大的时候, 说明cache处的文件数多, 如果频繁访问到的文件都被cache处, 那么磁盘的IO BI会非常小

Swap 

*si  : 每秒从交换区写到内存的大小, 由磁盘调入内存.  swapped in from disk

*so : 每秒写入交换区的内存大小, 由内存调入磁盘      swapped to disk 

IO (现在的Linux版本块的大小为1kb)

*bi : 每秒读取的块数   block received from a block device

*bo: 每秒写入的块数   block sent to a block device 

随机磁盘读写的时候, 这两个值越大能看到CPU的IO等待值也会变大

System 

*in : 每秒中断数

*cs : 每秒上下文切换数

CPU 

*us : 用户进程执行时间百分比(user time),us 的值比较高时,说明用户进程消耗的CPU时间多, 但是如果长期超50% 的使用,那么就应该考虑优化程序算法或者加速

*sy : 内核系统进程执行时间百分比(system time)

sy 的值高时, 说明系统内核消耗的CPU资源多, 需要检查原因

*wa : IO 等待时间百分比

wa 的值高时, 说明IO 等待比较严重, 这可能是由于磁盘大量随机访问造成, 也有可能是磁盘出现瓶颈

*id :  空闲时间百分比

文件:

/proc/meminfo

/proc/stat

/proc/*/stat

时间: 2024-10-13 13:04:34

vmstat 命令详解的相关文章

vmstat 命令详解 转载

vmstat 命令详解   procs:r-->在运行队列中等待的进程数b-->在等待io的进程数w-->可以进入运行队列但被替换的进程 memoyswap-->现时可用的交换内存(k表示)free-->空闲的内存(k表示) pagesre-->回收的页面mf-->非严重错误的页面pi-->进入页面数(k表示)po-->出页面数(k表示)fr-->空余的页面数(k表示)de-->提前读入的页面中的未命中数sr-->通过时钟算法扫描的页

vmstat命令详解——linux性能分析

版本信息: procps version 3.2.8 基本使用: vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] [-a]:显示活跃和非活跃内存 [-n]:只在开始时显示一次字段名,针对多次收集信息的情况输出人性化一点 [-t]:在每条信息的末尾,显示收集信息的时间 [-S unit]:使用指定单位显示.参数有 k .K .m .M ,分别代表1000.1024.1000000.1048576字节(byte).默认单位为K(1024 bytes)

linux监控工具vmstat命令详解(转)

一.前言 很显然从名字中我们就可以知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回顾一下Linux中关于虚拟内存相关内容. 二.虚拟内存原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间.当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供

Linux监控工具vmstat命令详解

虚拟内存和swap分区的关系 首先,这两个概念分别对应windows和linux,即:windows:虚拟内存linux:swap分区 windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区) swap类似于windows的虚拟内存,不同之处在于,Windows可以设置在 windows的任何盘符下面,默认是在C盘,可以和系统文件放在一个分区里.而linux则是独立占用一个分区,方便由于内存需求不够的情况下,

Linux vmstat命令详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样). 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,

系统性能分析-vmstat命令详解

最近温馨巩固Linux 操作系统的 vmstat命令,这个命令所能打印的系统信息满多的,比较好用,就顺当记录下重要的点,方便以后排查系统问题时拿出来用 字段 含义 procs 进程信息字段: -r:正在执行和等待cpu资源的任务进程数,数量越大,系统越繁忙. 如果当这个值超过了逻辑cpu个数,可能会出现cpu瓶颈. 查看逻辑CPU个数: cat /proc/cpuinfo | grep 'processor' | sort | uniq | wc -l -b:不可被唤醒的进程数量,数量越大,系统

Linux监控--vmstat命令详解

命令说明 vmstat :命令可以观察到系统的进展状态.内存使用.虚拟内存使用.磁盘IO读写.中断.上下文切换.CPU使用等负载信息.相对于top命令.iostat命令以及free命令来说,它是一个综合查看性能的命令. 参数说明 参数 说明 -a 显示活跃和非活跃页面状态(内存) -S 指定单位显示,对内存有效 k(1000) K(1024) m(1000000) M(1048567),默认为K delay 刷新间隔时间,如果不指定则只显示一条 count 刷新次数,如果不指定次数,而指定了刷新

vmstat命令详解

参数详情: r runingb blockswpd 虚拟内存使用时间free 物理free内存buff 从硬盘--->内存的 缓冲cache 从内存--->硬盘的 缓存si 从磁盘写入swap的大小/sso 从swap写入磁盘的大小/sbi 块设备每秒接收的块数量bo 块设备每秒发送的块数量cs 每秒上下文切换次数us 用户cpu时间sy 系统cpu时间id 空闲cpu时间wt 等待io时间 备注: # vmstat 3 2 第一个数字代表隔几秒,后边的数字代表总共采集几次.

adb调试命令详解-2016.02.01

adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息         adb --help 选项参数: adb [-d|-e|-s <serialNumber>] <command> -a 对于adb建立连接,将监听在所有的网卡上 -d 只对于USB连接的设备执行命令,如果有多个设备使用USB连接,将返回失败. -e 只对正在运行的模拟器执行命令,如果有多个模