2012年3月7日 星期三

!vm --Physical memory


1: kd> !vm

*** Virtual Memory Usage ***
Physical Memory:      387422 (   1549688 Kb)

The physical memory size is the MmNumberOfPhysicalPages * (page size)

You can implement it using the dbgeng.dll

IDebugDataSpaces::ReadDebuggerData

The ReadDebuggerData method returns information about the target that the debugger engine has queried or determined during the current session. The available information includes the locations of certain key target kernel locations, specific status values, and a number of other things.
HRESULT ReadDebuggerData(
  [in]             ULONG Index,
  [out]            PVOID Buffer,
  [in]             ULONG BufferSize,
  [out, optional]  PULONG DataSize
);
DEBUG_DATA_MmNumberOfPhysicalPagesAddr
ULONG64
Returns the address of the kernel variableMmNumberOfPhysicalPages.
DEBUG_DATA_MmPageSize
ULONG64
Returns the page size.

沒有留言:

張貼留言