1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#include "piler2.h"
#if WIN32
#include <windows.h>
#include <psapi.h>
double GetRAMSize()
{
MEMORYSTATUS MS;
GlobalMemoryStatus(&MS);
return (double) MS.dwTotalPhys;
}
static unsigned g_uMaxMemUseBytes;
unsigned GetMaxMemUseBytes()
{
return g_uMaxMemUseBytes;
}
unsigned GetMemUseBytes()
{
HANDLE hProc = GetCurrentProcess();
PROCESS_MEMORY_COUNTERS PMC;
BOOL bOk = GetProcessMemoryInfo(hProc, &PMC, sizeof(PMC));
if (!bOk)
return 1000000;
unsigned uBytes = (unsigned) PMC.WorkingSetSize;
if (uBytes > g_uMaxMemUseBytes)
g_uMaxMemUseBytes = uBytes;
return uBytes;
}
#endif
|