2013-04-17 8 views
5

質問タイトルは、現在のプロセスのヒープサイズを取得する方法があるかどうかを知りたがっていることを示しています。Windows上でヒープサイズを取得する方法プラットフォーム

+0

を取得するために、ヒープサイズは、一般的に有用な情報ではありません。おそらく、*できる最大のヒープ割り当てを知る方法を尋ねていますか? –

+0

いいえ、私が知りたいのはUsed Heap Sizeです。 – Kira

+0

@DrewDormannが言ったことに加えて、あなたの質問は非常に曖昧です。システム全体のヒープサイズ(本当にそのようなものはありません)または特定のプロセス(複数のヒープを持つことができます - スレッドごとに1つ)が必要ですか?この情報はなぜ必要なのですか? –

答えて

6

あなたはこれを行うことができます - しかし、私はそれが遅く、痛いと思います。

  1. GetProcessHeapsを使用して、プロセスヒープを列挙します。
  2. HeapWalkを使用して、各ヒープのブロックを列挙します。
  3. 使用HeapSizeため、ヒープがどのように動作するかのサイズと異なるブロックの種類
+0

@NikBougalis - ローカル変数はスタック上に作成され、ヒープ上には作成されませんか? – user93353

+1

D'oh!朝早くてコーヒーが足りません。愚かなコメントが削除されました。 –

+0

PROCESS_HEAP_ENTRYにはすでにすべてのサイズ情報が含まれているため、HeapSizeを使用する必要はありません。 – Alex

関連する問題