Что вызывает «системный» процесс MS Windows при компиляции? - PullRequest
2 голосов
/ 08 января 2009

Несколько раз недавно я заметил, что «что-то» приводит к тому, что системный процесс Windows находится на уровне 50 +%, и он не завершит работу, пока компьютер не будет перезагружен. Пока что происходит на Win2k и Win XP.

Это особенно хлопотно, потому что в настоящее время он запускается MSVC 2005 / Incredibuild, и перезагрузка серверов сборки не очень хорошая вещь.

В то же время процесс 'System Idle Process' удерживает остальную часть ЦП, и сами шаги сборки кажутся голодными. то есть. модуль, который обычно занимает <5 минут для компиляции, в настоящее время занимает 20 +. </p>

Я бы сделал несколько предположений о том, что это может быть средство проверки на вирусы или черепаха svn, но мне отчаянно понравятся другие предложения.

Edit:
Я испытывал это как нечто, что вызвано, и виновник, возможно, не продолжается. Это не означает, что какой-то другой текущий процесс не сделал что-то «глупое» и управляет активной блокировкой системы, в то время как он сам по себе выглядит простаившим.

Система (100% от 1 ядра) и System Idle Process совместно используют 98-100% от общего процессора. Occasionaly mt.exe, link.exe, buildservice будет смотреть на 1-2%. Я запускаю VNC, чтобы посмотреть на машину, так что иногда она заглядывает.

Редактировать 2: Покидая предыдущий вечер, процесс сборки, казалось, продвигался медленно, но после ожидания еще 13 часов процесс сборки в течение 1 часа не завершился. Система все еще загружает 1 ядро.

Ответы [ 6 ]

4 голосов
/ 08 января 2009

Насколько я понимаю, «системный» процесс - это время, проведенное в ядре (например, выполнение дискового ввода-вывода, сетевого ввода-вывода (вы упомянули Incredibuild) и т. Д.) - я бы проверил фрагментацию диска , средства проверки на вирусы и, возможно, посмотрите на них на других компьютерах в вашем кластере Incredibuild.

Поскольку процесс System Idle работает с «низким» приоритетом, это красная селедка, которая будет «занимать процессорное время» - если что-то просто показывает, что доступно доступное процессорное время. Тот факт, что обработка привязана к одному процессору, показывает, что процесс делает что-то, что не поддерживает многоядерный процесс, или кто-то установил его сродство к потоку равным 1.

3 голосов
/ 08 января 2009

Я заметил, что программное обеспечение для проверки на вирусы, которое я использую, может значительно замедлить компиляцию, но оно не выходит за пределы конца сборки. Отключение расширенной и эвристической проверки улучшает это до такой степени, что мне не нужно полностью отключать сканер. Я изменил свою стратегию сканирования таким образом, что теперь я использую запланированные полные сканирования более, чем расширенные, при сканировании на лету, поскольку это ухудшает производительность ряда приложений. (н.б. Я использую последнюю версию Kaspersky). Я также использую инструмент автоматического резервного копирования (AJCBackup), который также должен быть ограничен при компиляции.

Возможно, вы также захотите отключить службу индексирования Windows на дисках, которые будут использоваться для создания большого количества временных и объектных файлов, поскольку в данном контексте это не дает большого значения для суммы производительности он рисует.

Редактировать: проверили, какие процессы фактически загружают ядро ​​ЦП и проследили их до заданного приложения?

0 голосов
/ 01 октября 2009

У меня такие же зависания при компиляции с использованием IncrediBuild в VS2003, на чистой Windows 7 без какого-либо антивируса. На XP и Vista все работало нормально.

0 голосов
/ 27 мая 2009

В моем офисе конфликт между Incredibuild и Spyware Doctor's Immunize вызвал похожие проблемы. Отключение Immunize решило это за нас.

Какой антивирус / вредоносное ПО вы используете?

0 голосов
/ 22 января 2009

RE: smacl, работа из службы поиска / индексирования Windows (WSearch) не будет зависеть от процессорного времени системного процесса, она должна поступать из служб SearchIndexer.exe / SearchFilterHost.exe (Vista +).

Большая часть активности в System, которую вы увидите, будет связана с работой на ленивых записывающих устройствах и другими обращениями к диску. Активность ЦП в Системе будет зависеть от активности ядра, например драйверов ( ISR / DPC ) и других фильтров уровня ядра (которые могут включать AV-файл и фильтры процессов).

Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) может помочь в просмотре использования ЦП для разных процессов, включая Систему. Вы можете использовать общедоступный Microsoft Symbol Server и этот ресурс , чтобы получить вас начал.

Если вы можете выполнить трассировку с помощью Xperf (http://msdn.microsoft.com/en-us/performance/cc825801.aspx),, я могу помочь вам проанализировать, где время ЦП расходуется в контексте системы (ядра). Xperf официально не поддерживается в XP, но вы можете взять трассировку на XP и проанализировать ее на других системах .

Xperf и Process Explorer должны иметь возможность освещать именно те модули, которые вызывают чрезмерное использование ЦП. Символы могут даже не быть необходимыми для диагностики проблемы; просто имя модуля часто может указывать на рассматриваемый компонент, который замедляет работу вашей системы. Например, высокая загрузка ЦП из ndis.sys может указывать на сетевые прерывания, или активность модулей, таких как aavmker4.sys, может указывать на программное обеспечение AV (в данном случае Avast!).

И, как всегда, проверьте наличие обновленных драйверов и программного обеспечения AV для вашей системы.

0 голосов
/ 22 января 2009

Мы столкнулись с проблемами с Kaspersky и Incredibuild в наших офисах - компиляция и иногда ссылки просто зависают и никогда не заканчиваются.
Похоже, что это влияет на некоторые машины, хотя и странно, и только на Windows XP (Vista кажется невосприимчивой к тому, что я видел). Единственное решение, которое я нашел, - полностью отключить Kaspersky - так что, если вы найдете решение, дайте мне знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...