free -m只能查看內存總量情況
top M ( 注意M是大寫)
ps aux|head -1; ps aux | sort -k4nr | head -10
df -lh 其他的可自行匹配
(查看文件佔用)
du -h --max-depth=1
(查看刪除佔用)
lsof -n | grep deleted
lsof未安裝的話 可以使用 yum -y install lsof
查看日誌
tail -1 /var/log/boot.log
ps -ef |grep softname 查看軟件的端口號
top -p 進程號
ps -aux | grep 進程名
cat /proc/進程號/status
VmSize(KB) 任務虛擬地址空間的大小 (total_vm-reserved_vm),其中total_vm爲進程的地址空間的大小,reserved_vm:進程在預留或特殊的內存間的物理頁 VmLck(KB) 任務已經鎖住的物理內存的大小。鎖住的物理內存不能交換到硬盤 (locked_vm) VmRSS(KB) 應用程序正在使用的物理內存的大小,就是用ps命令的參數rss的值 (rss) VmData(KB) 程序數據段的大小(所佔虛擬內存的大小),存放初始化了的數據; (total_vm-shared_vm-stack_vm) VmStk(KB) 任務在用戶態的棧的大小 (stack_vm) VmExe(KB) 程序所擁有的可執行虛擬內存的大小,代碼段,不包括任務使用的庫 (end_code-start_code) VmLib(KB) 被映像到任務的虛擬內存空間的庫的大小 (exec_lib) VmPTE 該進程的所有頁表的大小,單位:kb Threads 共享使用該信號描述符的任務的個數,在POSIX多線程序應用程序中,線程組中的所有線程使用同一個信號描述符
1、VmRSS是真實正在佔用的內存,而VmData是虛擬內存,大小差異大並沒有什麼問題。 2、VmData是指數據段的內存大小,存放初始化了的數據; (total_vm-shared_vm-stack_vm) 3、不調動態庫的時候是不計算的(dlopen方式) 4、靜態庫會編譯爲程序本身的一部分,不在VmLib的統計之內。 5、參考上面的說明 6、除非有非常明顯的內存泄露,如內存一直大幅度增長並長時間不釋放,否則單純以來這些值是很判斷真正的內在泄露。