檢視程序佔用記憶體
用top命令可以實時檢視記憶體情況。 還有一種方法就是 cat /proc/PID/status
例如,cat /proc/1353/status
Name: XXX
State: S (sleeping)
Tgid: 1353
Ngid: 0
Pid: 1353
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups:
VmPeak: 779036 kB
VmSize: 764272 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 79356 kB
VmRSS: 74316 kB
VmData: 289652 kB
VmStk: 136 kB
VmExe: 30388 kB
VmLib: 18348 kB
VmPTE: 270 kB
VmSwap: 0 kB
Threads: 29
SigQ: 2/10735
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000006
SigCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
Seccomp: 0
Cpus_allowed: 3
Cpus_allowed_list: 0-1
voluntary_ctxt_switches: 4020
nonvoluntary_ctxt_switches: 109
這裡面儲存的是程序的有關資訊。就像給程序拍了一張照一樣。其中Vm開頭的是關於記憶體相關資訊的。
VmRSS //程序當前使用的實體記憶體的大小
VmData //程序佔用的資料段大小
VmSize //程序當前使用的虛擬記憶體的大小
用這個方法也可以大體上看到在一個程序中,啟動一個功能模組佔用記憶體的大小。