1.top命令
- 多核cpu監控: 在top基本視圖中,按鍵盤數字"1",可監控每個邏輯cpu的狀況
- 內存狀態
內存狀態 |
屬性說明 |
---|
used |
使用中的內存總量 |
---|
free |
空閒交換區總量 |
---|
shrd |
共享內存總量 |
---|
buff |
緩存內存總量 |
---|
cache |
page cache佔用的內存量 |
---|
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 |
進程被動切換的次數 |