2013-11-01 2 views
1

Каковы условия для сборки мусора .net, чтобы не запускать? делает ли высокая производительность процессора препятствием для запуска сборки мусора?.net сбор мусора и высокий уровень cpu

Я работаю над очень большим проектом с визуальным 2010 .net 4, Я добавил новую часть проекта и теперь выполняю тесты производительности. во время тестов я обнаружил, что когда я ставил клиентов с высокой нагрузкой, почти 100% процессор постоянно, память действует, как есть утечка. после многих тестов, которые ничего не нашли, я использовал профилировщик ANTS и обнаружил, что, когда я делаю снимки каждые 5 минут, память действует, как обычно. ANTS заставляет мусорную коллекцию работать, поэтому я вышел с вопросом: Делает ли сборщик мусора .net не в высоком процессоре, чтобы не прерывать запуск приложения?

+1

профильные события GC с Perfview: http://channel9.msdn.com/Series/PerfView-Tutorial/PerfView-Tutorial-9-NET-Memory-Investigation-Basics-of-GC-Heap-Snapshots http: // channel9.msdn.com/Series/PerfView-Tutorial/Tutorial-10-Investigating-NET-Heap-Memory-Leaks-Part1-Collecting-the-data – magicandre1981

ответ

2

После проверки вопроса я пришел к выводу, что высокий CPU не позволил GC работать должным образом. Я тестировал его с вызовом GC каждые несколько минут, когда память оставалась низкой, как и должно быть (в обычных прогонах программы). после этого я раздвоил главный горшок бутылки программы на несколько сердечников. CPU упал, и память снова стала хорошей, как обычно, в C# и .net - пошла вверх и вниз в постоянном диапазоне.

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