Linux kernel採用slab機制進行記憶體管理,slab是一串連續的記憶體,用來表示cache所占用的空間。一塊cache可能占用一個以上的slab。slabtop命令可以動態的呈現示kernel中記憶體的使用狀況。
Active / Total Objects (% used) : 549459 / 564039 (97.4%)
Active / Total Slabs (% used) : 52722 / 52727 (100.0%)
Active / Total Caches (% used) : 106 / 155 (68.4%)
Active / Total Size (% used) : 195789.07K / 198033.17K (98.9%)
Minimum / Average / Maximum Object : 0.02K / 0.35K / 128.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
182970 182511 99% 0.21K 10165 18 40660K dentry_cache
127170 127145 99% 0.74K 25434 5 101736K ext3_inode_cache
109040 108938 99% 0.09K 2726 40 10904K buffer_head
33762 33723 99% 0.58K 5627 6 22508K proc_inode_cache
10913 10911 99% 0.52K 1559 7 6236K radix_tree_node
9296 9240 99% 0.55K 1328 7 5312K inode_cache
9240 9155 99% 0.09K 210 44 840K sysfs_dir_cache
除了最上面的summary資訊之外,圖中的每一行都代表在kernel中執行的process所占用的cache大小。
OBJS指的是這個process調用了多少個object。
ACTIVE代表有多少object正在使用中,USE是active的比例。
SLABS指這個process使用多少個slab來管理,而OBJ/SLAB就是指一個slab擁有多少個object。
[本系列文章]
Linux系統效能分析與探討 - [1] CPU的效能關鍵字
Linux系統效能分析與探討 - [2] 記憶體的效能關鍵字
Linux系統效能分析與探討 - [3] Linux作業系統網路模組的效能關鍵字
Linux系統效能分析與探討 - [4] Linux block device的效能關鍵字
Linux系統效能分析與探討 - [5] 了解process的運作的指令 1 - ps
Linux系統效能分析與探討 - [6] 了解process的運作的指令2 - top
Linux系統效能分析與探討 - [7] 了解process的運作的指令3 - pstree
Linux系統效能分析與探討 - [8] 了解process使用記憶體的狀況 - pmap
Linux系統效能分析與探討 - [9] 顯示系統的附載狀況 - uptime, w
Linux系統效能分析與探討 - [10] 顯示系統的狀態 - vmstat
Linux系統效能分析與探討 - [11] 檢視記憶體的使用狀況 - free
Linux系統效能分析與探討 - [12] 取得詳細記憶體資訊 - cat /proc/meminfo