2011-09-02 43 views
10

我想看在UNIX中給定的過程中隨着時間的推移,看看什麼時候存儲的增長(其長期運行的作業)如何監視隨着時間的推移進程的內存使用情況 - Ubuntu的

我想我能做到

ps -aux | grep PID 

並從cron每5分鐘運行一次,但似乎應該有更好的方法。

有沒有辦法可以用sar來做到這一點?

+0

你的問題屬於ubuntu或超級用戶 –

+0

我在想這件事,但是從開發者的角度來看,它是一個開發問題,我的程序正在泄漏內存,我不是SA ....我想我可以嘗試在那裏,但它似乎相關的兩個... – Joelio

+2

重複http://stackoverflow.com/questions/563168/monitor-a-programs-memory-usage-in-linux?同時建議使用'top'和'-p -b -d'選項。 – Iterator

回答

21

我用這個:

$ ps -o rss $(pgrep executablename) 

假如把它放在一個while循環或使用表來監控其在與尾結合 時間。你也可以將它發球到一個文件,並讓gnuplot爲你繪製並每隔幾秒刷新一次。

+0

錯誤的答案。 RSS不是內存使用情況。 – poige

+1

@poige,你是什麼意思? - RSS 實數內存(駐留集)大小(以千字節爲單位)。這個數字等於內存時間中工作段和代碼段頁面數量的總和。4.請記住,代碼段頁面在程序的所有當前正在運行的實例之間共享。如果運行26 ksh進程,則ksh可執行程序的任何給定頁面只有一個副本在內存中,但ps命令會將該代碼段大小報告爲ksh程序每個實例的RSS的一部分。 – Joelio

+0

進程可以部分交換(分頁),實際上它的RSS會更少。 – poige

相關問題