8.11.2009

GlobalMemoryStatus

MSDN GlobalMemoryStatus

void GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer
);

其中傳入/出的structure 是:

typedef struct _MEMORYSTATUS {
DWORD dwLength; - 很莫名其妙,就是 這個structure 的size。
DWORD dwMemoryLoad; - memory loading %
DWORD dwTotalPhys; - 所有的 physical memory size
DWORD dwAvailPhys; - 目前可用的 physical memory size (還沒被 commit 的 memory)
DWORD dwTotalPageFile; - 所有的 disk page size
DWORD dwAvailPageFile; - 目前可用的 disk page size
DWORD dwTotalVirtual; - caller process 的所有 virtual memory address
DWORD dwAvailVirtual; - caller process 目前可用的 virtual memory address space
} MEMORYSTATUS, *LPMEMORYSTATUS;

所以一般看 AvailablePhys 就可以了,代表還有多少實體記憶體可以用。
頂多再看一下 AvailVirtual,看看是不是所有的Virtual Address都被 alloc 掉了 (DLL有這麼多嗎?)


這幾個參數值,可以用 remote performance monitor 看。

沒有留言: