如何追蹤記憶體峰值?

如何追蹤記憶體峰值?

我有一個在rackspace雲端(ubuntu 10.04)上運行的應用程式。由於某種原因,在過去 3 個晚上,記憶力一直在飆升,然後在大約 7 小時內趨於平穩,最後才下降。它似乎從午夜開始,一直持續到早上 7 點(忽略圖表上的時間——它們有 4 個小時的偏差)。

替代文字

翻翻穆寧從圖表中可以看出,mysql 中的活動似乎沒有任何增加,而且在那段時間內以太網流量似乎根本沒有激增(這似乎否定了機器人或爬蟲之類的東西)。

linux 有哪些工具可以解決這類問題?

答案1

我不完全確定它會是一個完美的選擇,但是流程會計包(主要名稱為 psacct 或 acct)能夠記錄誰(哪個帳戶)運行什麼(什麼程式)。這可能會幫助您弄清楚在您指定的時間正在運行什麼。

答案2

ps一般來說,除了定期記錄並稍後分析流程活動之外,我不知道什麼工具可以幫助您。

不過,我可以猜測你的圖表上上午 6:00 左右的峰值,它可能是 Ubuntu 預設的每日 cron 作業。在我的機器上/etc/crontabdaily.d配置為在上午 6:25 運行。但你說我們應該忽略時間,所以明顯的問題是,你有 cron 作業嗎?

答案3

我對此類問題的預設答案是sar系統活動報告器) 來自系統狀態包裹。

但據我所知,sar沒有收集與ps.因此,也許 和 elmarcos 答案的組合sar(定期捕捉 的輸出ps)會有所幫助。

編輯:

pidstatSteve D在中提到過這個問題。這似乎更適合您的需求。

相關內容