#windows #garbage-collection #wmi
#Windows #сбор мусора #wmi
Вопрос:
-
Мне нужно собрать показатели о процентах времени в GarbageCollector, используя классы WMI для серверов Windows. Я использую класс: «Win32_PerfRawData_NETFramework_NETCLRMemory». Правильно ли это?
-
Затем я беру два образца для этого класса и произвожу следующие вычисления:
# ПСЕВДОКОД Процентное время в GC = ( (sample2->'PercentTimeinGC' - sample1-> 'PercentTimeinGC') / (sample2-> 'Timestamp_Sys100NS' - sample1-> 'Timestamp_Sys100NS') )
Этот расчет окончательно неверен, как сделать это правильно?
Tks заранее.
gulden
Ответ №1:
После некоторого изучения неизвестного мира Windows я нашел решение:
Я начал с этой ссылки, в которой объясняются методы вычисления для каждого вида метрики:
http://msdn.microsoft.com/en-us/library/ms974615.aspx
Однако нам нужно знать тип счетчика, в данном случае тип счетчика для «PercentTimeinGC». Чтобы знать, что мне нужно запустить WEBMTest.exe программа:
http://technet.microsoft.com/en-us/library/cc180684.aspx
- Подключение к «root CIMV2»
- Открытый урок… «Win32_PerfRawData_NETFramework_NETCLRMemory»
- Выберите свойство «PercentTimeinGC».
- Нажмите на кнопку «Показать MOF»
-
Найдите строку:
«[DisplayName(«% времени в GC«): ToInstance, countertype(537003008): ToInstance, perfindex(2606): ToInstance, helpindex(2607): ToInstance, defaultscale(0): ToInstance, perfdetail(100): ToInstance] uint32 процент времени;»
Теперь, когда мы знаем тип счетчика (537003008), вам нужно отобразить его в удобочитаемую форму. Эта ссылка поможет:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa389383 (v= против 85).aspx
Сопоставление для coutertype 537003008 — PERF_RAW_FRACTION .
Мы возвращаемся к первой ссылке и находим метод вычисления для PERF_RAW_FRACTION, который:
(100 * CounterValue) / BaseValue
Я люблю Windows.
gulden