Slabtool 简单介绍

我们都知道在Linux系统中,内核模块在分配资源的时候,为了提高效率和资源利用率都是通过slab来分配的。通过slab的信息,再配合源码就能粗略的了解系统运行状况。

在Linux下保存着监视系统中所有活动的 slab 缓存的信息的文件为/proc/slabinfo。我们可以通过/proc/slabinfo向用户展示slab的使用情况。

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

Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存。现代Linux内核部署了该缓存分配器以持有缓存,称之为片。不同类型的片缓存由片分配器维护。而slabtop命令可以以实时的方式直观的显示内核slab缓冲区的信息。

  1. 查看help信息用slabtop --help

 

默认情况下,每间隔3秒刷新一次,但可以用-d或者—delay=N 选项调整刷新时间间隔,单位是秒。

 

After 10s

如果只想输出一次结果就结束,可以用-o或--once选项。它仅仅输出一次结果,然后退出;

 

本文仅展示一些简单用法,建议深入了解Linux内存分配机制原理。

参考资料:

http://blog.yufeng.info/archives/1960 (霸爷多年经验分享,值得订阅和每日学习)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值