1

ある種の巨大なメモリ リークが発生しており、プロセスの常駐メモリが指数関数的に増加しています。

pmap -x は次のように表示されます。

...
00007f4ad85cd000 10530276 9129608 9129608 rw---    [ anon ]
....

このアノンはリークの責任者です

同様に cat /proc//smaps は次のようなものを示しました:

7f4b03dfb000-7f4d5b146000 rw-p 00000000 00:00 0
Size:            9817388 kB
Rss:             8547272 kB
Pss:             8547272 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:   8547272 kB
Referenced:      6971056 kB
Anonymous:       8547272 kB
AnonHugePages:         0 kB
Swap:              80732 kB
KernelPageSize:        4 kB

それで?問題の原因を突き止めるために次に何ができるでしょうか? さらにデバッグするには?コアの、本当に古いコードはありません。ログを追加する場所も誰も知りません。

7f4b03dfb000-7f4d5b146000 の原因を特定する方法

4

1 に答える 1

1

あなたのプロセスを参照してください。これはあなたが作成したプログラムであり、ソース コードを制御およびアクセスできますか? それとも、これはサードパーティが提供するプログラムですか?

これがサードパーティのプログラムである場合は、バグを報告し、彼らがそれに対処してくれることを期待するしかありません。

これが独自のコードである場合は、ツールを使用してメモリ リークをデバッグする必要があります。使用しているプログラミング言語とライブラリによっては、さまざまなツールを使用できる場合があります。

そのようなツールの 1 つがValgrindです。

于 2014-04-24T16:39:37.160 に答える