Linux檢視程序的記憶體佔用情況
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選項。