内存的观测

这个标题可能不是很准确,性能之巅这本书最重要的其实是要让读者掌握一些方法论。方法论其实还是很重要,但是看着着实是有些累。
在这里插入图片描述
在这里插入图片描述
一些观测命令是多方面的统计信息,这一节聊的是内存,所以就只关注内存相关的信息,后续还是要整理一下常用的一些工具以及要关注的事项

# 默认是以KB为单位统计内存相关信息,使用`-S`选项修改输出展示的单位
vmstat 1 -Sm

swpd 交换出的内存量
free 空闲的可用内存
buff 用于缓冲缓存的内存
cache 用于页缓存的内存
si 换入的内存(换页)
so 换出的内存(换出)

系统启动后空闲内存的下降往往是被用于缓存(缓冲和页缓存)以提高性能,需要时会被释放以供应用程序使用,故此是正常现象。
si和so一直非0,那么系统正存在内存压力并换页到交换设备或文件。

sar
该工具也是足够强,直接上图算了

  • -B 换页统计信息
  • -H 大页面统计信息
  • -r 内存使用率
  • -R 内存统计信息
  • -S 交换空间统计信息
  • -W 交换统计信息

在这里插入图片描述
在这里插入图片描述

最好的说明文档应该是man sar

slabtop

通过slab分配器输出内核slab缓存使用情况。
貌似有了解到这个slab分配器在最新的linux内核版本不是默认的分配器,而是被其他分配器替换,这一块儿先记一笔

  • OBJS 对象数量
  • ACTIVE 活动的对象数量
  • USE 使用百分比
  • OBJ SIZE 对象大小,字节
  • CACHE SIZE 缓存大小
    slab统计信息源自/proc/slabinfo,使用-sc按缓存大小排序最大值再最顶端,用vmstat -m也可以输出相关信息

ps

ps aux
ps -eo pid,pmem,vsz,rss,comm
  • MEM:主存使用(物理内存、RSS)占用内存的百分比
  • RSS:常驻集合大小(KB);显示主存使用,包括如系统库在哪点映射共享段(可能被多个进程共享,会被重复计算故而RSS求和会超过系统内存总和)
  • VSZ:虚拟内存大小(KB)

pmap
列出进程的内存映射,显示大小、权限及映射的对象

pmap -x $pid

kBytes:虚拟内存
RSS:主内存
Anon:私有匿名内存
Mode:权限
对于大部分映射很少有内存是匿名的,而且大部分都是只读(r-x);这意味着这些页面可以被其他进程共享,尤其是系统库。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值