問題タブ [memory-fragmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
42 参照

c - OSX と WIN でフラグメンテーションを測定する方法

クライアントはいくつかの特定のシナリオでOOMを経験しており、メモリ リークを特定できないため、メモリ フラグメンテーションの問題であるかどうかを理解したいと考えています。

OSX と WIN の両方にさまざまなメモリ メトリック (常駐、ダーティ、ワーキング セット、予約済み、コミット済みなど) があり、フラグメンテーションの測定にどのメトリックを使用できるかわかりません。

vmmapOSXのコマンドは断片化列を提示し、次のように測定されるようです:

問題は、どのように取得できるDIRTY SIZEBYTES ALLOCATEDです。

割り当てられて使用されたメモリの量を示すmstatsがありmallocますが、報告された値は vmmap に表示されるものと一致しません。

WINもまったく別の話です。次の値を確認しましたが、フラグメンテーションの測定に使用できるかどうかはわかりません。

また、GetProcessMemoryInfoと同じ話を調べましたが、 PROCESS_MEMORY_COUNTERS_EXの値を使用して断片化を測定できるかどうか、またどのように使用できるかはわかりません。

TLDR: OSX と WIN でフラグメンテーションを測定するにはどうすればよいですか?