linux内存观察常用命令汇总

1、vmstat

看系统总体内存情况,包括物理内存、虚拟内存、换页等情况

vmstat 1 10:每1秒采样一次输出,持续10次

vmstat -d:看磁盘情况

vmstat -m:看内存详细情况,包括slab每个2的幂分配了多少个

vmstat -S m:系统内存大的时候无法对齐, 按照MB显示可以对齐

vmstat基本信息的解释:

进程相关:

r:当前在内核运行队列上的task数量,睡眠的进程不在此列

b:当前等待I/O的进程数量

内存相关:

swpd:使用的虚拟内存大小

free:当前可用内存

buff:用于缓冲的内存

cache:用于页缓存的内存

交换相关:

si:从虚拟内存写入的大小,每秒

so:换出到虚拟内存的大小,每秒

2、sar

观测当前内存活动,同时保留一段时间的历史记录,可以回溯,如下:

pgpgin/s:页面换入 1000byte/s

pspgout/s:页面换出 1000byte/s

fault/s:缺页

majflt/s:严重缺页

pgfree/s:页面加入空闲链表

pgscank/s:后台kswapd守护进程扫描过的页面数量

pgscand/s:直接页面扫描

pgsteal/s:页面回收

vmeff:页面回收效率

3、slabtop

输出内核slab缓存使用情况。slab是linux内核用于解决小对象大量复制销毁造成内存碎片问题的解决方案,每个cache内多个slab,每个slab中包含一个或者多个连续的页框,页框中预先分配多个同类对象。如下:

可以看到诸如inode,dentry,进程描述符这样的同类小对象的分配情况

4、ps

查看所有进程占用内存和cpu的细节,如下

%CPU:占用cpu百分比,注意是占用一个cpu的百分比,不是系统中所有cpu的加和

%MEM:占用内存百分比,内存是物理内存

VSZ:进程占用虚拟空间大小

RSS:进程常驻内存大小,是在物理内存中占用的大小

5、top

监控每个进程占用内存和cpu信息,shift+M可以排序将占用高的进程在前面显示

6、pmap

展示进程虚拟空间的映射关系,和/proc/pid/maps内容一样,pmap对齐做的更好,更易读,如下

包含可执行段、动态库、运行库libc和匿名堆栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值