Получить метрики сборщика мусора с помощью WMI - PullRequest
1 голос
/ 03 ноября 2011
  1. Мне нужно собрать показатели о процентах времени в GarbageCollector с помощью классов WMI для серверов Windows. Я использую класс: "Win32_PerfRawData_NETFramework_NETCLRMemory". Это правильно?

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

        # PSEUDO CODE
        PercentTime in GC = 
        (
          (sample2->'PercentTimeinGC' - sample1->'PercentTimeinGC') / 
          (sample2->'TimeStamp_Sys100NS' - sample1->'TimeStamp_Sys100NS')
        )
    

Этот расчет окончательно неверен, как это сделать правильно?

Tks заранее.

гульденов

1 Ответ

1 голос
/ 05 ноября 2011

После некоторого поиска в неизвестном мире окон я нашел решение:

Я начал с этой ссылки, которая объясняет методы расчета для каждого вида метрики:

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. Open Class ... »Win32_PerfRawData_NETFramework_NETCLRMemory "
  3. Выберите свойство" PercentTimeinGC "
  4. Нажмите на кнопку" Показать MOF "
  5. Найдите строку:

    " [DisplayName(«% времени в ГХ »): ToInstance, контртип (537003008) : ToInstance, perfindex (2606): ToInstance, helpindex (2607): ToInstance, defaultscale (0): ToInstance, perfdetail (100): ToInstance] uint32 PercentTimeinGC; "

Теперь, когда мы знаем контртип ( 537003008 ), необходимо сопоставить его с удобочитаемой для человека формой,Эта ссылка поможет:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa389383(v=vs.85).aspx

Сопоставление для coutertype 537003008 - PERF_RAW_FRACTION.

Вернемся к первой ссылке и найдем метод расчета для PERF_RAW_FRACTION, а именно:

(100 * CounterValue) / BaseValue

Мне нравятся окна.

gulden

...