linux內存工具查看歸納

1.top命令

  • 多核cpu監控:  在top基本視圖中,按鍵盤數字"1",可監控每個邏輯cpu的狀況
  • 內存狀態
內存狀態 屬性說明
used 使用中的內存總量
free 空閒交換區總量
shrd 共享內存總量
buff 緩存內存總量
cache page cache佔用的內存量
  • cpu狀態信息
cpu狀態信息 屬性說明
usr 用戶空間佔用CPU的百分比
sys 內核空間佔用CPU的百分比
nic 改變過優先級的進程佔用cpu的百分比
idle 空閒CPU百分比
io IO等待佔用CPU的百分比
irq 硬中斷佔用CPU的百分比
sirq 軟中斷佔用cpu的百分比

 

  • 進程詳細信息
名稱 說明
PID 進程ID
PPID ppid是程序的父進程號
USER 進程所有者
STAT 當前進程的狀態
VSZ 進程的虛擬大小
%VSZ 進程的站虛擬內存百分比
cpu 運行的cpu號
%cpu 佔cpu的百分比
COMMD 進程的名稱

二. cat /proc/$PID/status進程狀態

# cat status 
Name:   fcw_app
Umask:  0022
State:  S (sleeping)
Tgid:   3475
Ngid:   0
Pid:    3475
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 64
Groups:  
NStgid: 3475
NSpid:  3475
NSpgid: 261
NSsid:  261
VmPeak:  2392176 kB
VmSize:  2392176 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:     50672 kB
VmRSS:     50672 kB
RssAnon:           41436 kB
RssFile:            9236 kB
RssShmem:              0 kB
VmData:   428832 kB
VmStk:       132 kB
VmExe:        32 kB
VmLib:     15192 kB
VmPTE:      1116 kB
VmPMD:        24 kB
VmSwap:        0 kB
HugetlbPages:          0 kB
Threads:        34
SigQ:   0/754
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180004006
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs:     0
Speculation_Store_Bypass:       unknown
Cpus_allowed:   f
Cpus_allowed_list:      0-3
voluntary_ctxt_switches:        5747
nonvoluntary_ctxt_switches:     173

解釋

名稱 解釋
VmPeak 當前進程運行過程中佔用內存的峯值
VmSize 進程現在正在佔用的內存
VmLck 進程已經鎖住的物理內存的大小,鎖住的物理內存不能交換到硬盤
VmHWM 程序得到分配到物理內存的峯值
VmRSS 程序現在使用的物理內存
VmData 進程數據段的大小
VmStk 進程堆棧段的大小
VmExe 進程代碼的大小
VmLib 進程所使用LIB庫的大小
VmPTE 佔用的頁表的大小
VmSwap 佔用swap的大小
Threads 進程組的線程數量
SigPnd 屏蔽位,存儲了該線程的待處理信號,等同於線程的PENDING信號
ShnPnd 屏蔽位,存儲了該線程組的待處理信號,等同於進程組的PENDING信號
SigBlk 存放被祖塞的信號,等同於BLOCKED信號
SigIgn 存放被忽略的信號,等同於IGNORED信號
SigCgt 存放捕獲的信號,等同於CAUGHT信號
CapEff 當一個進程要進行某個特權操作時,操作系統會檢查cap_effective的對應位是否有效,而不在檢查進程的有效UID是否爲0
CapPrm 表示進程能夠使用的能力,在cap_permitted中可以包含cap_effective中沒有的能力,這些能力是被進程自己臨時放棄的,也可以說cap_effective是cap_permitted的一個子集
CapInh 表示能夠被當前進程執行的程序繼承的能力
CapBnd 系統的邊界能力,我們無法改變它
Cpus_allowed 指出該進程可以使用cpu的親和行掩碼,因爲我們指定爲4塊cpu,就是F(1111)
Cpus_allowd_list 0-3該進程可以使用的CPU的列表
voluntary_ctxt_switches 進程主動切換的次數
nonvoluntary_ctxt_swithes 進程被動切換的次數

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章