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命令详解 vmstat命令是AIX操作系统中一个非常重要的命令,用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。通过vmstat命令生成的报告,可以用于平衡系统负载活动。 1.(vmstat命令概述...
### AIX VMSTAT 的深入解析与应用 在深入解析 AIX VMSTAT 的使用方法之前,我们首先需要了解 VMSTAT 在 AIX 操作系统中的重要性。AIX 是 IBM 开发的一种 Unix 操作系统,广泛应用于各种企业级服务器环境中。VMSTAT ...
### vmstat结果内容的深入解析 在Linux系统管理和性能监控领域,`vmstat`命令扮演着至关重要的角色。它能够提供系统当前的虚拟内存状态、进程情况、CPU使用率、磁盘I/O活动等关键信息,是系统管理员进行故障排查和...
Linux/Unix 系统管理员在监控系统性能时,经常会使用 `vmstat` 命令。这个命令提供了关于操作系统核心层面的关键信息,包括CPU、内存、虚拟内存交换、输入输出(I/O)活动以及系统调度等状态。下面我们将深入探讨 `...
本文将重点介绍三个关键的性能分析工具:vmstat、iostat和sar。 首先,vmstat是Virtual Memory Statistics的简称,主要用于监控系统的虚拟内存、进程和CPU活动。通过vmstat,我们可以获取关于系统整体运行状态的...
### sar与vmstat命令知识点详解 #### 一、sar命令详解 `sar`(System Activity Reporter)是一个强大的系统性能分析工具,它能够收集并报告系统的各种活动数据,包括CPU使用率、内存使用情况、磁盘I/O操作等,是...
在Linux操作系统中,掌握一些基础的系统管理命令是至关重要的,比如`top`, `ps`, `kill`, `free`和`vmstat`等。这些命令提供了监控系统性能、查看进程状态、管理进程以及分析内存和虚拟内存使用情况的能力。本源码包...
### vmstat查看系统负载 在Linux环境中,对系统的性能监控是一项重要的任务,它能帮助管理员及时发现并解决潜在的问题,确保系统的稳定运行。`vmstat`命令作为一种强大的工具,能够提供丰富的系统性能指标数据,...
AIX上的vmstat命令报告输出解释和命令基本用法 vmstat命令是AIX操作系统中的一种性能监控工具,主要用来报告内核线程、虚拟内存、磁盘、Traps、CPU活动的统计数据。下面是vmstat命令的报告输出解释和命令基本用法。...
### vmstat详解:深入理解Unix/Linux系统性能监控 #### 标题解读:vmstat详解 `vmstat`是Unix及类Unix系统(包括Linux)中一个重要的系统性能监控工具,用于报告虚拟内存统计信息,同时也提供了关于进程、内存、...
Linux vmstat命令详解和使用实例 vmstat 命令是 Linux 系统中的一种低开销的系统性能观察方式,通过它可以了解系统的整体情况。但是,它无法对某个进程进行深入分析。vmstat 工具可以提供对系统的整体情况进行统计...
vmstat核心源代码注释,对理解Linux下的工具原理挺有帮助。
### vmstat命令详解 #### 一、概述 `vmstat` 是一个用于监控系统虚拟内存统计信息的强大工具,它可以提供有关系统活动的信息,包括进程、内存、交换、块IO、系统调用等统计信息。通过观察这些数据,可以帮助我们更...
vmstat 命令详解 vmstat 命令是 Linux 系统中用于显示系统当前的进程、内存、交换空间、IO 设备、系统和 CPU 使用情况的命令。下面是 vmstat 命令的详细解释: procs * r: 等待运行的进程数 * b: 处在非中断睡眠...
"vmstat命令详解" vmstat 命令是 UNIX 平台下一个非常有用的性能监测工具,能够实时监测 Linux 系统的 CPU、内存、IO 等性能参数。通过分析 vmstat 命令的输出结果,我们可以快速地了解系统的性能瓶颈,从而进行...
vmstat命令详细说明,用于系统监控和性能测试使用
UNIX 平台下 vmstat 与 iostat 输出结果详解 vmstat 和 iostat 是 UNIX 平台下两个常用的性能监测命令,vmstat 主要用于显示虚拟内存、进程、磁盘 I/O、CPU 使用率等信息,而 iostat 主要用于显示磁盘 I/O 情况。这...
### Linux中的vmstat工具详解及应用 #### 一、引言 `vmstat`是一款功能强大的Linux系统性能监控工具,能够提供系统级别的多种性能指标,包括但不限于进程状态、内存使用情况、虚拟内存交换、磁盘I/O活动、系统中断...