http://blog.yufeng.info/archives/1960
我们知道内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。我们通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。
linux系统透过/proc/slabinfo来向用户暴露slab的使用情况的,我们来看下:
msi_cache 2 2 3840 1 1 : tunables 24 12 8 : slabdata 2 2 0 |
ip_fib_alias 11 226 16 226 1 : tunables 120 60 8 : slabdata 1 1 0 |
ip_fib_hash 11 119 32 119 1 : tunables 120 60 8 : slabdata 1 1 0 |
dm_mirror 100 105 1052 7 2 : tunables 24 12 8 : slabdata 15 15 0 |
dm_mpath 0 0 1052 7 2 : tunables 24 12 8 : slabdata 0 0 0 |
dm_tio 0 0 16 226 1 : tunables 120 60 8 : slabdata 0 0 0 |
dm_io 0 0 20 185 1 : tunables 120 60 8 : slabdata 0 0 0 |
dm-bvec-(256) 0 0 3072 2 2 : tunables 24 12 8 : slabdata 0 0 0 |
其实还有更好的查看工具:slabtop很直观的可以看到slab使用情况和汇总,上图:

很清晰的为性能调优和trouble shoot提供一个参考面!
祝玩得开心!