Как узнать использование пространства подкачки в Windows - PullRequest
0 голосов
/ 31 августа 2010

Я хочу отслеживать использование пространства подкачки на сервере Windows 2003.Если использование превышает 80% в течение 10 минут, генерируется сигнал тревоги.Существует много инструментов для оперативной памяти, но как насчет использования подкачки?Как мне смоделировать это состояние и выполнить тест?

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Используйте встроенные счетчики производительности.Вы можете получить их через WMI / Win32_Perf:

http://msdn.microsoft.com/en-us/library/aa394270%28v=VS.85%29.aspx

или через интерфейс счетчика производительности / реестра:

http://msdn.microsoft.com/en-us/library/aa373083%28v=VS.85%29.aspx

1 голос
/ 31 августа 2010

Для принудительного использования файла подкачки. Начните совершать память. Используйте VirtualAlloc вызов API:

LPVOID WINAPI VirtualAlloc(
  __in_opt  LPVOID lpAddress,
  __in      SIZE_T dwSize,
  __in      DWORD flAllocationType,
  __in      DWORD flProtect
);

и установите для flAllocationType значение MEM_COMMIT (0x1000), это должно начать использование памяти. Когда память исчерпана, файл подкачки должен использоваться автоматически. Я подозреваю, что вам придется начать измерять использование, а затем эвристически определить, когда наступает требуемый процент использования.

Для контроля прочитайте счетчики производительности. Набор файлов подкачки имеет счетчик% использования, который вы можете прочитать. Начните здесь с того, как их потреблять . Все, что вам нужно, это создать службу Windows, которая считывает информацию и затем выдает соответствующие сигналы тревоги.

.Net: http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx C ++: http://msdn.microsoft.com/en-us/library/aa373219(v=VS.85).aspx или http://msdn.microsoft.com/en-us/library/aa373214(v=VS.85).aspx

...