linux下查看進程內存使用情況

動態查看一個進程的內存使用

  1. 1、top命令  
  2. top -d 1 -p pid [,pid ...]  //設置爲delay 1s,默認是delay 3s   
  3. 如果想根據內存使用量進行排序,可以shift + m(Sort by memory usage)  

靜態查看一個進程的內存使用

 

  1. 1、pmap命令  
  2. pmap pid  
  3.   
  4. 2、ps命令  
  5. ps aux|grep process_name  
  6.   
  7. 3、查看/proc/process_id/文件夾下的status文件  
  8. Name:   php  
  9. State:  R (running)  
  10. SleepAVG:       0%  
  11. Tgid:   21574  
  12. Pid:    21574  
  13. PPid:   10005  
  14. TracerPid:      0  
  15. Uid:    1000    1000    1000    1000  
  16. Gid:    100     100     100     100  
  17. FDSize: 256  
  18. Groups: 16 100   
  19. VmPeak:   161740 kB  
  20. VmSize:   161740 kB  
  21. VmLck:         0 kB  
  22. VmHWM:    107144 kB  
  23. VmRSS:    107144 kB  
  24. VmData:   106192 kB  
  25. VmStk:        84 kB  
  26. VmExe:      5588 kB  
  27. VmLib:      7884 kB  
  28. VmPTE:       268 kB  
  29. Threads:        1  
  30. SigQ:   0/69632  
  31. SigPnd: 0000000000000000  
  32. ShdPnd: 0000000000000000  
  33. SigBlk: 0000000000000000  
  34. SigIgn: 0000000000001000  
  35. SigCgt: 00000001818040a7  
  36. CapInh: 0000000000000000  
  37. CapPrm: 0000000000000000  
  38. CapEff: 0000000000000000  
  39. Cpus_allowed:   00000000,00000000,00000000,0000000f  
  40. Mems_allowed:   1  
  41.   
  42. 任務虛擬地址空間的大小 VmSize  
  43. 應用程序正在使用的物理內存的大小 VmRSS  

  1、top

  top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器

  內容解釋:

  PID:進程的ID
  USER:進程所有者
  PR:進程的優先級別,越小越優先被執行
  NInice:值
  VIRT:進程佔用的虛擬內存
  RES:進程佔用的物理內存
  SHR:進程使用的共享內存
  S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值爲負數
  %CPU:進程佔用CPU的使用率
  %MEM:進程使用的物理內存和總內存的百分比
  TIME+:該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
  COMMAND:進程啓動命令名稱

  常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

  2、/proc/pid

  測量一個進程佔用了多少內存,linux爲我們提供了一個很方便的方法,/proc目錄爲我們提供了所有的信息

  說明:

  /proc/N pid爲N的進程信息
  /proc/N/cmdline 進程啓動命令
  /proc/N/cwd 鏈接到進程當前工作目錄
  /proc/N/environ 進程環境變量列表
  /proc/N/exe 鏈接到進程的執行命令文件
  /proc/N/fd 包含進程相關的所有的文件描述符
  /proc/N/maps 與進程相關的內存映射信息
  /proc/N/mem 指代進程持有的內存,不可讀
  /proc/N/root 鏈接到進程的根目錄
  /proc/N/stat 進程的狀態
  /proc/N/statm 進程使用的內存的狀態
  /proc/N/status 進程狀態信息,比stat/statm更具可讀性
  /proc/self 鏈接到當前正在運行的進程

  3、pmap

  pmap命令可以顯示一個或多個進程所使用的內存數量。你可以使用這個工具來了解服務器上的某個進程分配了多少內存,並以此來判斷這是否是導致內存瓶頸的原因。要得到更加詳細的信息,使用pmap -d選項。

 

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