1. 程式人生 > >linux系統分析工具之slabtop(十二)

linux系統分析工具之slabtop(十二)

slabtop
簡介:
 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 [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
輸出介面可用的命令:
 <SPACEBAR>:	        重新整理顯示內容
 Q:			退出
ps.建議深入瞭解linux記憶體分配機制,以上內容僅為皮毛。