it-swarm-ja.com

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

私はubuntu15.04を使用していますが、アイドル状態のメモリ使用量は通常約1 GBですが、最近はmemory allocation failedノードから。

1、2日後に、アイドル状態のメモリが最大4GBになることに気づきました。私はそれがプログラムかubuntuのどちらかであることを知っています。私はそれがubunutではないことを本当に望んでいるので、それを再インストールしたりダウングレードしたりする必要はありません。

どのプログラムがメモリリークを起こしているのか、それともubuntu自体であるのかを判断するための最良のツールは何ですか。

2
Atrotors

あなたは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) Valgrind のようなデバッガー/メモリプロファイラーを取得し、その中でプログラムを1つずつ実行します。