Linux 下vmstat 系统监控功能详解 v mstat 是一个十分有用的Linu x 系统监控工具,使用v mstat 命令可以得到关于进程、内存、内存分页、堵塞 IO、traps 及 CPU 活动的信息
一、前言 很显然从名字中我们就可以知道 v mstat 是一个查看虚拟内存(Virtu al Memory )使用状况的工具,但是怎样通过 v mstat 来发现系统中的瓶颈呢
在回答这个问题前,还是让我们回顾一下Linu x 中关于虚拟内存相关内容
二、虚拟内存运行原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间
当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用
在 Linu x 内存管理中,主要是通过“调页 Paging”和“交换 Swapping”来完成上述的内存调度
调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用
交换技术是将整个进程,而不是部分页面,全部交换到磁盘上
分页(Page)写入磁盘的过程被称作Page-Ou t,分页(Page)从磁盘重新回到内存的过程被称作Page-In
当内核需要一个分页时,但发现此分页不在物理内存中(因为已经被Page-Ou t了),此时就发生了分页错误(Page Fau lt)
当系统内核发现可运行内存变少时,就会通过Page-Ou t 来释放一部分物理内存
经管Page-Ou t 不是经常发生,但是如果Page-ou t 频繁不断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降
这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作thrashing(颠簸)
三、使用 v mst