AB4.2を使用しています。
プログラムを書いていると、メモリリークが良くあるので開発時に使用しているメモリ量を表示させたいのですが、メモリ消費量の取得方法をご教授ください。
自分で消費しているメモリを表示させたい。
-
- 記事: 217
- 登録日時: 2006年2月05日(日) 17:10
- お住まい: 東京都
Re: 自分で消費しているメモリを表示させたい。
最も簡単な方法は、
対象のプログラムを起動し、
タスクマネージャーで確認できます。
わざわざプログラムつくるより簡単だと思いますが。
よろしくお願いいたします。
対象のプログラムを起動し、
タスクマネージャーで確認できます。
わざわざプログラムつくるより簡単だと思いますが。
よろしくお願いいたします。
Re: 自分で消費しているメモリを表示させたい。
プログラムにて取得できれば、最大/最小値や時間変化量を計算したり
グラフを書いたり、自由に扱えますので便利です。
GetProcessMemoryInfo()を使えばできそうなのですが、SIZE_Tって
どうする??など定義でつまずきました。
typedef struct _PROCESS_MEMORY_COUNTERS {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
} PROCESS_MEMORY_COUNTERS;
BOOL GetProcessMemoryInfo(
[in] HANDLE Process,
[out] PPROCESS_MEMORY_COUNTERS ppsmemCounters,
[in] DWORD cb
);
グラフを書いたり、自由に扱えますので便利です。
GetProcessMemoryInfo()を使えばできそうなのですが、SIZE_Tって
どうする??など定義でつまずきました。
typedef struct _PROCESS_MEMORY_COUNTERS {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
} PROCESS_MEMORY_COUNTERS;
BOOL GetProcessMemoryInfo(
[in] HANDLE Process,
[out] PPROCESS_MEMORY_COUNTERS ppsmemCounters,
[in] DWORD cb
);