Linux中查看進程占用內存的情況【轉】


轉自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/

Linux中查看某個進程占用內存的情況,執行如下命令即可,將其中的[pid]替換成相應進程的PID號:

cat /proc/[pid]/status 

說明

/proc/[pid]/status中所保存的信息除了內存信息,還包括進程IDs、信號等信息,此處暫時只介紹內存相關的信息。

字段 說明
VmPeak 進程所使用的虛擬內存的峰值
VmSize 進程當前使用的虛擬內存的大小
VmLck 已經鎖住的物理內存的大小(鎖住的物理內存不能交換到硬盤)
VmHWM 進程所使用的物理內存的峰值
VmRSS 進程當前使用的物理內存的大小
VmData 進程占用的數據段大小
VmStk 進程占用的棧大小
VmExe 進程占用的代碼段大小(不包括庫)
VmLib 進程所加載的動態庫所占用的內存大小(可能與其它進程共享)
VmPTE 進程占用的頁表大小(交換表項數量)
VmSwap 進程所使用的交換區的大小

舉例

顯示進程cron的內存信息,通過pidof cron獲取進程ID,或者通過ps -aux | grep cron查找進程ID。

$ cat /proc/1161/status
Name:   cron
State:  S (sleeping) Tgid: 1161 Ngid: 0 Pid: 1161 PPid: 1 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 64 Groups: 0 VmPeak: 23792 kB VmSize: 23656 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 1040 kB VmRSS: 1004 kB VmData: 260 kB VmStk: 136 kB VmExe: 40 kB VmLib: 2668 kB VmPTE: 72 kB VmSwap: 0 kB Threads: 1 SigQ: 0/15442 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000010001 CapInh: 0000000000000000 CapPrm: 0000001fffffffff CapEff: 0000001fffffffff CapBnd: 0000001fffffffff Seccomp: 0 Cpus_allowed: 3 Cpus_allowed_list: 0-1 Mems_allowed: 00000000,00000001 Mems_allowed_list: 0 voluntary_ctxt_switches: 151 nonvoluntary_ctxt_switches: 0 

Comments

comments powered by Disqus


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM