一、简介

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

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

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

二、用法

slabtop-实时显示内核slab内存缓存信息
slabtop [options]

描述:

slabtop displays detailed  kernel  slab  cache  information in real time. It displays a listing of the top caches sorted by one of the listed sort criteria.  It also displays a statistics header filled with slab layer information.

选项:

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

排序标准:

a:     sort by number of active objects
b:     sort by objects per slab
c:     sort by cache size
l:     sort by number of slabs
v:    sort by number of active slabs
n:     sort by name
o:     sort by number of objects
p:     sort by pages per slab
s:     sort by object size
u:     sort by cache utilization

输出界面可用的命令:

:            刷新显示内容
Q:            退出

三、数据分析

#slabtop -oActive / Total Objects (% used) : 342368 / 362880 (94.3%)Active / Total Slabs (% used) : 7873 / 7873 (100.0%)Active / Total Caches (% used) : 103 / 150 (68.7%)Active / Total Size (% used) : 27814.06K / 29616.44K (93.9%)Minimum / Average / Maximum Object : 0.01K / 0.08K / 128.00KOBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME133980 133862 99% 0.02K 660 203 2640K avtab_node92886 92653 99% 0.03K 822 113 3288K size-3228626 27174 94% 0.05K 367 78 1468K selinux_inode_security25816 25614 99% 0.48K 3227 8 12908K ext3_inode_cache23693 18692 78% 0.13K 817 29 3268K dentry_cache21240 15306 72% 0.05K 295 72 1180K buffer_head6174 5758 93% 0.27K 441 14 1764K radix_tree_node


©著作权归作者所有:来自51CTO博客作者mb5fe94c9f04536的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Android(安卓)TextView学习
  2. 去除Android(安卓)TextView默认内边距
  3. Android实现简单的上一张、下一张图片切换显示
  4. Android--隐藏状态栏图标
  5. android 开发实现悬浮窗体
  6. Android(安卓)自定义Toast显示图片
  7. 一个RecyclerView列表显示多种类型的Item
  8. Android之Intent显示和隐式调用
  9. Android(安卓)点击EditText以外区域,隐藏键盘

随机推荐

  1. 关于Android NDK中如何调用第三方静态库-
  2. 最牛逼android上的图表库MpChart(三) 条形
  3. android坐标系相关知识点
  4. Android技术人才前途无量
  5. 7GB! | 高焕堂Android从程序员到架构师之
  6. 深入理解Android音频框架AudioTrack到Aud
  7. Android(Java):对应用进行单元测试
  8. 移动互联网应用技术架构简介-Android
  9. android之Intent基本使用
  10. Linux与Android