`
shuechaolau
  • 浏览: 34442 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

vmstat

 
阅读更多

vmstat 是一个查看系统虚拟内存使用情况的命令,通过这个命令,可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。

 

什么是Linux的虚拟内存

在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。

当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。

 

其输出各个字段如下所示如下:

vmstat  5 5(每隔5秒采样一次,一共5次)
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache             si   so    bi    bo   in           cs us sy id wa
 0  0  10868  18276   6956 2116176    0    0     5     4    0             0  2  1 96  0
 2  0  10868  17636   6972 2116420    0    0     0   195 1598  1593  4  2 93  0
 1  0  10868  17764   6988 2116924    0    0     0   166 1566  1544  4  2 93  0
 2  0  10868  17332   7016 2117416    0    0     1   202 1649  1706  4  2 94  0
 0  0  10868  16628   7024 2117668    0    0     0   186 1957  1820  5  3 92  0

 

下面针对各项输出进行解释,并附上一些相应的经验值

procs
r:在运行队列中等待的进程数,展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现相应的CPU瓶颈了
b:在等待io的进程数

memoy
swpd:正在使用的swap大小(单位KB),即:进入到虚拟内存的内存数量,该值大于0,表示物理内存不足;不过如果该值比较大了,但是si、so的值长期为0,表示系统性能还是正常。
free:空闲的物理内存空间(单位KB)
buff: 已使用的buff大小,对块设备的读写进行缓冲(单位:KB)
cache:已使用的cache大小,文件系统的cache(单位:KB)

swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒

io
bi: 从块设备读入的数据总量(读磁盘) (KB/s)
bo: 写入到块设备的数据总理(写磁盘) (KB/s)

system
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)转换次数

cpu
us:用户进程消耗的CPU时间百分比

         us的值越高,说明用户进程消耗的CPU时间越多。但是如果长期超过50%的话,应该考虑用户应用程序的优化
sy:内核进程消耗的CPU时间百分比 
        一般来说,如果sy的值长期处于高位,尽管其他指标也运行正常,但是这个并非系统运行良好的情况,需要进一步分析原因
id:cpu空闲以百分比
wa:io等待消耗的CPU时间百分比

         wa的值比较高,说明IO等待比较严重,可能的原因:1)磁盘大量的随机访问;2)磁盘的带宽出现瓶颈

vmstat的瓶颈:无法对某一个进程进行深入分析。

 

关于CPU监控这块,需要结合上面的几个指标来一起分析:

1)运行队列,单个CPU极限运行不超过3

2)CPU满负荷运行,其分布符合:

a) User Time:65%~70%
b) System Time:30%~35%
c) Idle:0%~5%

3)上下文切换,如果CPU符合上述70/30规则,则大量的上下文切换也没关系 

分享到:
评论

相关推荐

    AIX的vmstat命令详解.docx

    AIX的vmstat命令详解 vmstat命令是AIX操作系统中一个非常重要的命令,用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。通过vmstat命令生成的报告,可以用于平衡系统负载活动。 1.(vmstat命令概述...

    AIX VMSTAT的用法

    ### AIX VMSTAT 的深入解析与应用 在深入解析 AIX VMSTAT 的使用方法之前,我们首先需要了解 VMSTAT 在 AIX 操作系统中的重要性。AIX 是 IBM 开发的一种 Unix 操作系统,广泛应用于各种企业级服务器环境中。VMSTAT ...

    vmstat结果内容的解释

    ### vmstat结果内容的深入解析 在Linux系统管理和性能监控领域,`vmstat`命令扮演着至关重要的角色。它能够提供系统当前的虚拟内存状态、进程情况、CPU使用率、磁盘I/O活动等关键信息,是系统管理员进行故障排查和...

    liunx后台vmstat命令

    Linux/Unix 系统管理员在监控系统性能时,经常会使用 `vmstat` 命令。这个命令提供了关于操作系统核心层面的关键信息,包括CPU、内存、虚拟内存交换、输入输出(I/O)活动以及系统调度等状态。下面我们将深入探讨 `...

    iostat_vmstat_详解

    本文将重点介绍三个关键的性能分析工具:vmstat、iostat和sar。 首先,vmstat是Virtual Memory Statistics的简称,主要用于监控系统的虚拟内存、进程和CPU活动。通过vmstat,我们可以获取关于系统整体运行状态的...

    sar 与vmstat命令.txt

    ### sar与vmstat命令知识点详解 #### 一、sar命令详解 `sar`(System Activity Reporter)是一个强大的系统性能分析工具,它能够收集并报告系统的各种活动数据,包括CPU使用率、内存使用情况、磁盘I/O操作等,是...

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    在Linux操作系统中,掌握一些基础的系统管理命令是至关重要的,比如`top`, `ps`, `kill`, `free`和`vmstat`等。这些命令提供了监控系统性能、查看进程状态、管理进程以及分析内存和虚拟内存使用情况的能力。本源码包...

    vmstat查看系统负载

    ### vmstat查看系统负载 在Linux环境中,对系统的性能监控是一项重要的任务,它能帮助管理员及时发现并解决潜在的问题,确保系统的稳定运行。`vmstat`命令作为一种强大的工具,能够提供丰富的系统性能指标数据,...

    AIX上的vmstat的报告输出解释和命令基本用法

    AIX上的vmstat命令报告输出解释和命令基本用法 vmstat命令是AIX操作系统中的一种性能监控工具,主要用来报告内核线程、虚拟内存、磁盘、Traps、CPU活动的统计数据。下面是vmstat命令的报告输出解释和命令基本用法。...

    vmstat详解.

    ### vmstat详解:深入理解Unix/Linux系统性能监控 #### 标题解读:vmstat详解 `vmstat`是Unix及类Unix系统(包括Linux)中一个重要的系统性能监控工具,用于报告虚拟内存统计信息,同时也提供了关于进程、内存、...

    linux vmstat命令详解和使用实例.docx

    Linux vmstat命令详解和使用实例 vmstat 命令是 Linux 系统中的一种低开销的系统性能观察方式,通过它可以了解系统的整体情况。但是,它无法对某个进程进行深入分析。vmstat 工具可以提供对系统的整体情况进行统计...

    vmstat源代码注释

    vmstat核心源代码注释,对理解Linux下的工具原理挺有帮助。

    vmstat 命令详解

    ### vmstat命令详解 #### 一、概述 `vmstat` 是一个用于监控系统虚拟内存统计信息的强大工具,它可以提供有关系统活动的信息,包括进程、内存、交换、块IO、系统调用等统计信息。通过观察这些数据,可以帮助我们更...

    vmstat命令详解

    vmstat 命令详解 vmstat 命令是 Linux 系统中用于显示系统当前的进程、内存、交换空间、IO 设备、系统和 CPU 使用情况的命令。下面是 vmstat 命令的详细解释: procs * r: 等待运行的进程数 * b: 处在非中断睡眠...

    vmstat命令详解.doc

    "vmstat命令详解" vmstat 命令是 UNIX 平台下一个非常有用的性能监测工具,能够实时监测 Linux 系统的 CPU、内存、IO 等性能参数。通过分析 vmstat 命令的输出结果,我们可以快速地了解系统的性能瓶颈,从而进行...

    vmstat详解

    vmstat命令详细说明,用于系统监控和性能测试使用

    各种UNIX平台下vmstat与iostat输出结果详解

    UNIX 平台下 vmstat 与 iostat 输出结果详解 vmstat 和 iostat 是 UNIX 平台下两个常用的性能监测命令,vmstat 主要用于显示虚拟内存、进程、磁盘 I/O、CPU 使用率等信息,而 iostat 主要用于显示磁盘 I/O 情况。这...

    linux中vmstat的使用.docx

    ### Linux中的vmstat工具详解及应用 #### 一、引言 `vmstat`是一款功能强大的Linux系统性能监控工具,能够提供系统级别的多种性能指标,包括但不限于进程状态、内存使用情况、虚拟内存交换、磁盘I/O活动、系统中断...

Global site tag (gtag.js) - Google Analytics