开源是一种精神,分享是一种美德!

slabtop

相关命令:top,htop
slabtop 显示内核信息实时,实时显示详细的 slab 缓存的内核信息.它会显示一个清单顶部缓存此列排序条件排序.它还显示一个统计头的楼板填充图层信息.

内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。linux系统透过/proc/slabinfo来向用户暴露slab的使用情况。 

Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此他的结论是不应该将内存释放回一个全局的内存池,而是将内存保持为针对特定目而初始化的状态。Linux slab 分配器使用了这种思想和其他一些思想来构建一个在空间和时间上都具有高效性的内存分配器。 

保存着监视系统中所有活动的 slab 缓存的信息的文件为/proc/slabinfo。

参数:

--delay=n, -d n:每n秒更新一次显示的信息,默认是每3秒; 
--sort=S, -s S:指定排序标准进行排序(排序标准,参照下面或者man手册); 
--once, -o:显示一次后退出; 
--version, -V:显示版本; --help:显示帮助信息。

排序标准:

a:排序所依据的对象的数目
b:按对象排序每个 slab
c:通过缓存大小排序
l:按数字排序的 slab
v按数字排序的活动 slab
n:按名称排序
o:按对象排序
p:每板按页
s:按对象排序大小
u:通过缓存利用率排序

# sudo slabtop -o    #显示内核slab内存缓存信息

# sudo slabtop    #实时显示内核slab内存缓存信息

# sudo slabtop -s c   #查看占用内存最多的cache

评论(0)

暂无评论

评论

名字:
验证码:
获取验证码
内容: