如何檢測哪個程式正在洩漏內存

如何檢測哪個程式正在洩漏內存

我使用的是ubuntu 15.04,我的空閒記憶體使用量通常在1GB左右,最近我一直memory allocation failed從node.js取得。

我注意到一兩天後我的空閒記憶體增加到 4GB。我知道它要么是一個程序,要么是ubuntu。我真的希望它不是 ubunut,這樣我就不必重新安裝或降級。

確定哪個程式正在洩漏記憶體或它是 ubuntu 本身的最佳工具是什麼?

答案1

你可以透過兩種方式做到這一點

1)運行top command (to run non-interactively, type top -b -n 1).要查看正在洩漏記憶體的應用程序,請查看以下列:

RPRVT - resident private address space size
RSHRD - resident shared address space size
RSIZE - resident memory size
VPRVT - private address space size
VSIZE - total memory size

2)取得調試器/記憶體分析器,例如瓦爾格林德並一一運行其中的程式。

相關內容