Wyrd
@Wyrd
Архитектор

Ужасные тормоза в время компиляции в Visual Studio?

Добрый день!


В последнее время (возможно после каких-то апдейтов) Visual Studio стала очень сильно нагружать компьютер во время компиляции. Очень сильно — это «заикание» музыки на Core i7, с учетом того, что cl.exe (компилятор С++) выполняется с «низким» приоритетом (базовый приоритет приложения можно настроить в реестре) это просто нонсенс. Через некоторое время попыток осознать, что происходит с компьютером я заметил, что во время компиляции время ядра («Kernel Time») в диспетчере задач достигает 90+% от общего времени загрузки CPU (что, вероятно, и приводит к глюкам). Анализ стека показывает, что это время тратится на синхронизацию (процесс почти постоянно висит внутри «ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x682»). Лечатся эти симптомы перезагрузкой компьютера — после этого некоторое время все хорошо (студия запускается, компилирует, процессор нагружается в нормальном режиме, т.е. проводя в ядре 10-15% времени).


Хотелось бы узнать, есть ли такая проблема еще у кого-то и чего с ней делать.

Переустанавливать студию/винду просьба не предлагать.
  • Вопрос задан
  • 8662 просмотра
Пригласить эксперта
Ответы на вопрос 6
@egorinsk
Может, что-то с драйверами или системными службами? простой процесс-числогрыз вряд ли повесит ядро. Также, проверьте, достаточно ли памяти и не лезет ли компьютер в своп. Также, попробуйте procmon, посмотрите что в системе происходит. Также, можно попробовать программу API Monitor, показывающую системные вызовы. Procmonб process explorer и API monitor рекомендую, если есть желание поразбираться.

Чтобы музыка заикалась под Windows — компьютер очень сильно надо замучать, такого практически никогда не бывает.
Ответ написан
AxisPod
@AxisPod
Не знаю как с VS 2010, а 11 beta вообще комп кладет на лопатки, я так понял какой-то процесс переходит на приоритет real-time и грузит проц на 100%, комп вешается на мертво, ориентировочно, что это делает Intellisence, ибо происходит временами перед появлением подсказки. Разбираться особо не стал, а удалил и вернулся на VS2010. А VS2010 вроде работает отлично.
Ответ написан
ixSci
@ixSci
А с HDD у вас проблем нет случаем?
Ответ написан
@YGeorge
Однажды сталкивался с подобной проблемой. После долгих гуглений нашел совет — удалить все брекпоинты через Debug -> Delete All BreakPoints. Мне это помогло, возможно решит и вашу проблему.
Ответ написан
Комментировать
Sellec
@Sellec
Кодер
У меня, помнится, были зависания из-за IntelliTrace. Отключил — отладка стала шустрее идти, возможно, у вас с этим как-то связано.
Ответ написан
@amirul
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel

Ну это точно НЕ САМА Visual Studio. Предположительно какой то сильно умный фильтр/минифильтр (возможно антивирус: типа ему нужен процессор чтобы проверить сигна). Попробуйте собрать профайл трейс со стеками и посмотреть кто эти самые спинлоки захватывает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы