私はC++コードを持っています。編集できます。コードによって作成されたプロセスの最大メモリ使用量を取得したいので、メモリ使用量を確認するための関数をいくつか見つけています。
これを3日間検索しましたが、情報が見つかりません。(私はそれらのいくつかを試しましGetProcessMemoryInfo
たが、それはうまくいきませんでした)
アドバイスをお願いします。ありがとう :)
など、いくつか試してみまし
GetProcessMemoryInfo
たが、うまくいきませんでした
Collecting Memory Usage Information For a Processに基づく以下は、私にとってはうまくいきます。
#include <windows.h>
#include <stdio.h>
#include <psapi.h>
int main() {
HANDLE hProcess;
PROCESS_MEMORY_COUNTERS pmc;
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, GetCurrentProcessId() );
if (NULL != hProcess) {
if ( GetProcessMemoryInfo( hProcess, &pmc, sizeof(pmc)) ) {
printf( "PeakWorkingSetSize: 0x%08X\n", pmc.PeakWorkingSetSize );
printf( "WorkingSetSize: 0x%08X\n", pmc.WorkingSetSize );
// ... add other members from pmc, as needed ...
}
CloseHandle( hProcess );
}
}
でコンパイルしてリンクしg++ -o procinfo procinfo.cpp -lpsapi
ます。