首页  

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表达式排序实战