2010-10-14 4 views
6

Я пишу приложение ASP.NET MVC, и я вижу кажущуюся случайную производительность из одного из моих действий. Мой начальный шаг заключается в том, что сборка мусора вступает в игру и приостанавливает приложение на некоторое время, но я не могу найти кнопку/переключатель, который докажет или опровергнет мою теорию.Что такое .NET-эквивалент java -verbose: опция командной строки gc

Для ява ни людей, там -verbose:gc есть переключатель командной строки, которые можно передать в приложение Java, что сделает JVM печати, когда происходит событие GC и как долго он принимает.

Я попытался использовать инструмент производительности vs2010 и JetBrains dotTrace, оба из которых немного похожи на использование термоядерного оружия для взлома маленькой гайки.

+0

как долго GC занимает не так легко определить. Большая часть GC не требует остановленной программы, поскольку .net использует параллельный GC для клиентских приложений. – CodesInChaos

ответ

6

В .NET 4.0 есть трассировка событий для Windows (ETW), которая предоставляет вам информацию, которую вы ищете. Вот один из них для GC.

FYI ETW очень быстрый и встроенный в ядро. С ETW вы должны быть в состоянии получить информацию, как этот alt text

alt text

И чтобы получить эту информацию есть инструмент из BCL команды, которая называется PerfMonitor

Вот шаги в использовании инструмент для получения GC Информация

  1. Начать ЦМД или PowerShell, как администратор , это требуется для сбора ETW трассировку
  2. Запустите приложение, которое вы хотите проследить
  3. Issue команду «PerfMonitor.exe /процесс: 4180 старт», где 4180 является идентификатор процесса,
  4. ли необходимые действия
  5. Тогда вопрос «PerfMonitor .exe stop "
  6. Код команды для получения отчета " PerfMonitor.exe GCTime ". Это позволит создать отчет и открыть его в браузере

Я также blogged в о же

HTH

+0

Это еще лучше .. ta. –

0

Ваше первое предположение не должно быть GC. Со всеми нормальными рабочими нагрузками вы не замечаете GC в .NET.

Не существует переключателя трассировки для GC, но вы можете посмотреть на performance counters, если вы все еще считаете, что GC виноват.

+0

Спасибо, что делает только работу. Вы совершенно правы, что ничего не делать с GC, не может быть легко :-) –

Смежные вопросы