Hyperic SIGAR сообщает о различном использовании подкачки в окне 2012 r2

Я запускаю Hyperic SIGAR через java в окне 2012 r2. Использование Swap sigar API (http://cpansearch.perl.org/src/DOUGM/hyperic-sigar-1.6.3-src/docs/javadoc/org/hyperic/sigar/Swap.html), я Я могу получить следующее: общее количество подкачки = 5032562688, используемое количество подкачки = 1541095424 и свободное количество подкачки = 3491467264. Это показывает, что текущее использование подкачки составляет ~ 30%. Однако проверка использования подкачки в Windows с помощью счетчика Файл подкачки -> % использования в системном мониторе, как описано здесь https://serverfault.com/questions/399855/how-much-swap-is-being-used-on-windows показывает, что использование подкачки равно 0%. (% пикового использования также равен 0%). Использование подкачки 0% кажется более правильным, так как оконный сервер вообще не испытывает большой нагрузки. Кто-нибудь знает, почему SIGAR сообщает другое/неправильное значение?


person Maytas Monsereenusorn    schedule 05.08.2017    source источник


Ответы (1)


Sigar сообщает об обмене, используя:

ullTotalPageFile -> Итого подкачки

ullAvailPageFile -> Бесплатный обмен

ullTotalPageFile - ullAvailPageFile -> Используемый обмен

http://msdn.microsoft.com/en-us/library/aa366770(VS.85).aspx

WMI сообщает об обмене, используя:

swapTotal -> SizeStoredInPagingFiles (Общее количество килобайт, которое может храниться в файлах подкачки операционной системы — 0 (ноль) означает, что файлов подкачки нет. Имейте в виду, что это число не отражает фактический физический размер файла подкачки на диске. .)

swapFree -> FreeSpaceInPagingFiles (Число в килобайтах, которое может быть отображено в файлы подкачки операционной системы без выгрузки каких-либо других страниц.) https://msdn.microsoft.com/en-us/библиотека/aa394239(v=vs.85).aspx

Проблема заключается в следующем: мне кажется, что Windows возвращает Sigar с ullTotalPageFile комбинацию всей виртуальной и физической памяти, а не только виртуальной памяти, как подразумевается в метрике «Общий файл подкачки». (https://communities.vmware.com/thread/354362)

Более подробно: из-за того, как функции Windows API сообщают о показателях памяти, невозможно точно получить размеры подкачки (виртуальной памяти), поскольку Windows сообщает об общей памяти фиксации, которая представляет собой физическую память плюс размеры файла подкачки. Единственное решение, которое можно было применить, заключалось в расчетном вычете размеров подкачки, зная размеры страницы и физической памяти.

person Maytas Monsereenusorn    schedule 09.08.2017