Linux vmstat 命令
所属分类 linux
浏览量 1088
vmstat Virtual Meomory Statistics
可对操作系统的虚拟内存、进程、CPU活动进行监控
对系统的整体情况进行统计,无法对某个进程进行深入分析
物理内存 虚拟内存
虚拟内存 利用磁盘空间虚拟出的一块逻辑内存
用作虚拟内存的磁盘空间被称为交换空间 Swap Space
linux 内存管理 分页存取机制
物理内存中不经常使用的数据块自动交换到虚拟内存中,经常使用的信息保留在物理内存
最近最经常使用
调页Paging 交换Swapping
调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。
交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。
Page-Out 分页(Page)写入磁盘
Page-In 分页(Page)从磁盘重新回到内存
当内核需要一个分页,但发现该分页不在物理内存中(被Page-Out了), 产生分页错误(Page Fault)
Page-Out Page-In Page-Fault
Page-out频繁发生 ,系统效能会急剧下降 ,这种状态被称作thrashing(颠簸)
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
5 0 0 71840 57420 976988 0 0 60 51 0 0 1 1 98 1 0
Procs(进程)
r 运行队列中进程数量
b 等待IO的进程数量
Memory(内存)
swpd 使用虚拟内存大小
free 可用内存大小
buff 用作缓冲的内存大小
cache 用作缓存的内存大小
Swap
si 每秒从交换区写到内存的大小
so 每秒写入交换区的内存大小
IO(块大小 1024bytes)
bi 每秒读取的块数
bo 每秒写入的块数
system系统
in 每秒中断数,包括时钟中断 interrupt
cs 每秒上下文切换数。 【count/second】
CPU(百分比)
us 用户进程执行时间(user time)
sy 系统进程执行时间(system time)
id 空闲时间(包括IO等待时间)
wa 等待IO时间
-t 显示时间
vmstat 2 5
2秒间隔共5次
vmstat -a
-a 显示活跃和非活跃内存
vmstat -a 2 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
5 0 0 72860 470840 1154284 0 0 60 51 0 0 1 1 98 1 0
0 0 0 72704 470908 1154360 0 0 56 54 270 556 1 1 98 1 0
0 0 0 70820 470992 1155664 0 0 686 0 293 569 2 2 96 1 0
vmstat -f
从系统启动至今的fork数量
linux下创建进程的系统调用是fork
/proc/stat processes字段
vmstat -s
查看内存使用的详细信息
来自
/proc/meminfo
/proc/stat
/proc/vmstat
vmstat -d
查看磁盘读写
vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
vda 113769607 461488 8611279402 2799405770 490049320 356592856 7433675360 3202099817 0 561829
sr0 90 0 688 25 0 0 0 0 0 0
vmstat -p /dev/vda1
显示指定磁盘分区统计信息
主要来自于/proc/diskstats
reads 分区读次数
read sectors 分区的读扇区次数
writes 分区写次数
requested writes 分区的写请求次数
vmstat -m
查看系统的slab信息
/proc/slabinfo
slab
内核会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry,
这些对象如果每次构建的时候就向内存要一个页(4kb),这样会非常浪费,
为了解决这个问题,就引入了一种新的机制来处理在同一个页框中如何分配小存储区,
slab可以对小对象进行分配,这样就不用为每一个对象分配页框,从而节省了空间,
slab对这些小对象进行缓冲,可以重复利用,减少内存分配次数
上一篇
下一篇
Objenesis简介
kafka中的 AR OSR ISR HW 和 LEO
c++与java技术选型
hashmap调优
JDK15和ZGC
Java8 Lambda表达式排序实战