2017-06-28 14 views
0

私は、設定された制限を超えてメモリを割り当てるとプロセスを殺すシステムからプロセスのコアを持っています。 メモリが断片化しているため、プロセスがクラッシュしたようです。 利用可能な最大の空きメモリブロックを知りたいことを確認します。 コアから見つける方法はありますか?gdbコアから、利用可能な最大のブロックを見つけてください。

+0

https://stackoverflow.com/questions/1386776/memory-fragmentation-profiler – Thiner

答えて

1

Linuxのglibcを使用していると仮定すると、libheapgefpwndbgなどのgdbプラグインは、フリーチャンクを検査する機能を提供します。

あなたがOOMを再起こらせることができればまた、あなたは(Use Case: Basic Allocator Statisticsを参照してください、jemalloc含む)がクラッシュする前に、かなり自身でのmallocアリーナのレイアウトを印刷する機能を持っているいくつかのメモリアロケータを試すことができます

Valgrindありメモリリークが発生した場合に役立ちますが、メモリの断片化に役立つかどうかはわかりません。

関連する問題