Linux系统监控:vmstat
简介:
vmstat命令可以查看当前运行JAVA程序的Linux系统的CPU使用率、CPU调度程序运行队列的长度以及内存使用率(包括内存使用情况、是否存在内存交换等)。
使用方法:
vmstat 1 5:1秒采集一次,共采集5次
vmstat 1:一秒采集一次,直到结束程序
vmstat -s:显示内存的详细信息
vmstat -d 1 5:显示磁盘的详细信息
输出示例:
[grucee@localhost notes]$ vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 6279892 32708 702664 0 0 248 23 210 723 4 1 90 5
0 0 0 6275908 32716 706992 0 0 0 100 653 3449 2 1 95 2
0 0 0 6275620 32724 707080 0 0 0 660 631 3250 2 1 95 2
0 0 0 6275752 32724 707032 0 0 0 0 526 2670 2 1 98 0
0 0 0 6275876 32724 706796 0 0 0 0 385 2402 2 1 98 0
VM模式输出详解(默认模式)
Procs
r: The number of runnable processes (running or waiting for run time).
运行的进程数(正在运行或等待运行)
b: The number of processes in uninterruptible sleep.
处在非中断sleep状态的进程数。
Memory
swpd: the amount of virtual memory used.
已经使用的虚拟内存(交换分区)总量,大于零说明物理内存不足。
free: the amount of idle memory.
空闲内存总量
buff: the amount of memory used as buffers.
用于缓存的内存总量(如linux的/proc目录下面的内容就是在缓存中的)
cache: the amount of memory used as cache.
cache直接用来记忆我们打开的文件,给文件做缓冲,(Linux/Unix把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)
inact: the amount of inactive memory. (-a option)
不活动内存的总量
active: the amount of active memory. (-a option)
活动内存的总量
Swap
si: Amount of memory swapped in from disk (/s).
每秒从磁盘交换分区交换进物理内存的内存总量
so: Amount of memory swapped to disk (/s).
每秒从内存交换到磁盘的内存总量
IO
bi: Blocks received from a block device (blocks/s).
块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备。
bo: Blocks sent to a block device (blocks/s).
块设备每秒发送的块数量。
System
in: The number of interrupts per second, including the clock.
每秒CPU的中断次数,包括时钟中断
cs: The number of context switches per second.
每秒上下文切换数。
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
用户态CPU时间
sy: Time spent running kernel code. (system time)
系统态CPU时间
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
空闲CPU时间
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
等待IO CPU时间
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
从虚拟机偷来的CPU时间
磁盘模式详解(指定-d选项)
Reads
total: Total reads completed successfully
成功完成的读操作数目。
merged: grouped reads (resulting in one I/O)
合并的读(在一次I/O中)
sectors: Sectors read successfully
成功读的扇区数
ms: milliseconds spent reading
花费在读操作上的毫秒数。
Writes
total: Total writes completed successfully
成功完成的写操作数目。
merged: grouped writes (resulting in one I/O)
合并的写(在一次I/O中)
sectors: Sectors written successfully
成功写的扇区数
ms: milliseconds spent writing
花费在写操作上的毫秒数。
IO
cur: I/O in progress
正在处理I/O的进程数
s: seconds spent for I/O
花费在I/O上的秒数
SLAB模式详解(指定-m选项,需要root权限)
cache: Cache name
缓存名称
num: Number of currently active objects
当前活动对象的数目
total: Total number of available objects
活动对象的总数目
size: Size of each object
每个对象的大小
pages: Number of pages with at least one active object
至少有一个活动对象的页数。