vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。本文介绍了虚拟内存的运行原理,继而介绍了vmstat的用法和使用范例。
一、虚拟内存运行原理
在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。
在Linux内存管理中,主要是通过“调页Paging”和“交换Swapping”来完成上述的内存调度。调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。
分页(Page)写入磁盘的过程被称作Page-Out,分页(Page)从磁盘重新回到内存的过程被称作Page-In。当内核需要一个分页时,但发现此分页不在物理内存中(因为已经被Page-Out了),此时就发生了分页错误(Page Fault)。
当系统内核发现可运行内存变少时,就会通过Page-Out来释放一部分物理内存。经管Page-Out不是经常发生,但是如果Page-out频繁不断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降。这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作thrashing(颠簸)。
二、使用vmstat
1.用法
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。引申閱讀: http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
2.使用说明
例子1:每2秒输出一条结果
字段说明:
Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小
IO:(现在的Linux版本块的大小为1024bytes)
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间)
wa: 等待IO时间
例子2:显示活跃和非活跃内存
使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。
字段说明:
Memory(内存):
inact: 非活跃内存大小(当使用-a选项时显示)
active: 活跃的内存大小(当使用-a选项时显示)
- 大小: 63.6 KB
- 大小: 48.8 KB
分享到:
相关推荐
本文将详细介绍《Linux系统20个系统常用监控工具》中的部分关键工具,包括但不限于`top`、`vmstat`、`w`和`uptime`等。通过这些工具的应用,可以帮助系统管理员快速定位和解决系统性能瓶颈。 #### 二、找出瓶颈 在...
linux系统监控工具汇总,包括vmstat、uptime、iostat、sar等各种监控工具的具体分析。
vmstat 工具可以提供对系统的整体情况进行统计和监控,且可以在控制窗口中使用。 在学习 vmstat 命令前,我们需要了解 Linux 系统中关于物理内存和虚拟内存相关信息。物理内存是系统硬件提供的内存大小,是真正的...
本文将详细介绍几种常用的Linux性能监控工具,帮助你更好地理解系统状态并解决潜在问题。 1. **top** `top`命令是最基本的实时性能监控工具,它显示系统总体的CPU、内存使用情况,以及每个进程的资源占用状况。你...
linux监控工具汇总,包括top、vmstat、sar、uptime、ps、free、iostat、mpstat、numastat、pmap netstat、iptraf等监控工具的纤细说明和瓶颈分析。
它遵循自由软件和开源开发的原则,任何人都可以自由地使用、修改和分发Linux内核。Linux内核是操作系统的核心部分,负责管理系统资源,如任务调度、文件系统、设备驱动程序、内存管理等。 Linux的主要特点包括: 1...
本文将围绕“Linux资源监控工具”这一主题,深入探讨Linux下的一些常用监控工具,以及如何利用这些工具进行系统监控。 首先,我们要了解的是nmon,全称为Nigel's Monitoring and Performance Analysis tool for ...
下面我们将详细探讨`nmon`工具的使用方法以及其在Linux资源监控中的应用。 ### 1. `nmon`工具简介 `nmon`由Nigel Griffiths开发,它提供了一个交互式的界面,能够实时显示系统资源使用情况,并且可以将数据保存为...
`vmstat`是一款功能强大的Linux系统性能监控工具,能够提供系统级别的多种性能指标,包括但不限于进程状态、内存使用情况、虚拟内存交换、磁盘I/O活动、系统中断、上下文切换以及CPU使用率等方面的信息。这些数据...
Linux监控主要是通过收集系统运行时的各项指标,如CPU使用率、内存占用、磁盘I/O、网络流量等,来评估系统健康状况和性能瓶颈。这对于优化系统配置、预防故障和提升系统效率至关重要。 1. **监控工具**: - **top*...
【Linux系统监控工具】 在运维领域,Linux系统监控是确保服务稳定性和性能的关键任务。本文列举了18个常用的Linux命令行工具,帮助系统管理员轻松应对监控和调试工作。以下是对其中四个工具的详细说明: 1. **Top ...
5. **监控工具** - **top和htop**:实时显示系统和进程的CPU、内存使用情况。 - **strace**:追踪进程的系统调用和信号,帮助定位问题。 6. **性能调优** - 对于CPU密集型应用,可能需要减少不必要的计算或...
在这个场景中,我们有一个名为“性能监控工具.zip”的压缩包,其中包含一个基于`vmstat`的Linux操作系统性能参数可视化监控工具。这个工具对于进行性能测试的专业人士来说非常有用,因为它能够提供清晰、直观的系统...
这些命令提供了监控系统性能、查看进程状态、管理进程以及分析内存和虚拟内存使用情况的能力。本源码包提供了这些命令的实现细节,有助于深入理解其工作原理。 1. **top命令**:`top`是实时显示系统状态的动态视图...
此外,还可以结合其他监控工具,如Prometheus、Grafana或JMX工具,将Java程序集成到更全面的系统监控环境中。这样可以实时监控多个指标,如内存使用、线程状态等,以提供更全面的系统健康状况视图。 总的来说,Java...
Linux 性能监测工具 Linux 系统下,性能监测工具的... Linux 性能监测工具不仅可以帮助您监控服务器的性能,还可以帮助您诊断和解决问题。这些工具可以帮助您更好地管理您的 Linux 服务器,提高服务器的性能和可靠性。
1. **基本监控工具**:Linux提供了一系列内置的监控工具,如`top`、`htop`、`iotop`和`vmstat`等,它们分别用于查看系统进程、CPU、内存和I/O使用情况。`mpstat`可以显示每个CPU核心的负载,而`iostat`则用于分析...
这份名为"Linux系统20个系统监控工具.zip"的资源包含了一份PDF文档,详细列举了20款常用的Linux系统监控工具,旨在帮助管理员更好地了解系统状态,及时发现并解决潜在问题。以下是这20个工具的详细介绍: 1. **top*...