Получение показателей сборщика мусора с помощью WMI

#windows #garbage-collection #wmi

#Windows #сбор мусора #wmi

Вопрос:

  1. Мне нужно собрать показатели о процентах времени в GarbageCollector, используя классы WMI для серверов Windows. Я использую класс: «Win32_PerfRawData_NETFramework_NETCLRMemory». Правильно ли это?

  2. Затем я беру два образца для этого класса и произвожу следующие вычисления:

     # ПСЕВДОКОД
     Процентное время в 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

  1. Подключение к «root CIMV2»
  2. Открытый урок… «Win32_PerfRawData_NETFramework_NETCLRMemory»
  3. Выберите свойство «PercentTimeinGC».
  4. Нажмите на кнопку «Показать MOF»
  5. Найдите строку:

    «[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