どのプログラムがメモリをリークしているかを検出する方法

どのプログラムがメモリをリークしているかを検出する方法

memory allocation failed私は Ubuntu 15.04 を使用しており、アイドル メモリ使用量は通常 1 GB 程度ですが、最近はnode から取得しています。

1、2 日後、アイドル メモリが 4GB まで増加していることに気付きました。プログラムか Ubuntu のどちらかであることがわかっています。再インストールやダウングレードの必要がないように、Ubuntu ではないことを心から願っています。

どのプログラムがメモリをリークしているのか、あるいは Ubuntu 自体がリークしているのかを判断するのに最適なツールは何ですか。

答え1

これには2つの方法があります

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)デバッガ/メモリプロファイラを入手するヴァルグリンドそしてその中でプログラムを1つずつ実行します。

関連情報