Служба Microsoft .NET Framework NGEN запускается, а затем сразу останавливается
Я просматриваю системный журнал компьютера с Windows Server 2008 R2, используемого в качестве экземпляра веб-роли Azure, и вижу следующие сообщения от Service Control Manager:
2:28:28 PM The Microsoft .NET Framework NGEN v4.0.30319_X86 service entered the running state.
2:28:28 PM The Microsoft .NET Framework NGEN v4.0.30319_X86 service entered the stopped state.
2:28:28 PM The Portable Device Enumerator Service service entered the stopped state.
2:28:29 PM The Microsoft .NET Framework NGEN v4.0.30319_X64 service entered the running state.
2:28:29 PM The Microsoft .NET Framework NGEN v4.0.30319_X64 service entered the stopped state.
Это выглядит подозрительно - почему служба NGEN запускается, а затем немедленно останавливается?
В чем дело? Это нормальное поведение?
1 ответ
Мы сталкивались с такой ситуацией с каждой версией.Net Framework, которая когда-либо была установлена. Оказывается, служба NGEN - это редактор Native image GEN, а не Next Gen или что-то еще, о чем я думал некоторое время.
В любом случае, то, что происходит, довольно раздражает, но это не подозрительно и не является вредоносным ПО, ошибкой или вредом для вашего компьютера. Публикуемые вами журналы показывают, что служба PRE компилирует платформу.Net, и она закрывает службу, как только это делается. Однако, будучи опытным разработчиком на C, C++, C#, Objective-C и т. Д. Более 20 лет, я не уверен, почему Microsoft устанавливает его с "автоматическим" типом запуска. Кроме того, я не уверен, почему компиляция должна запускаться более одного раза (кроме случаев, когда выходит патч или что-то в этом роде). Но я не знаком с этими ответами... поэтому я буду придерживаться только совета о том, что я нашел, помогает!
Эта проблема также вызывает многочисленные проблемы в Диспетчере серверов на серверах 2012+, где он выдает красное предупреждение о том, что служба, настроенная на автоматический запуск, остановлена.
Из всех исследований, которые я (и моя команда) сделали, мы нашли, что лучшее, что можно сделать, - это установить службу в начальную конфигурацию MANUAL.
Таким образом, Windows Service Manager запустит его при необходимости, но не будет пытаться все время запускать (а затем и останавливать) без необходимости. Это должно облегчить некоторые из журналов для вас. Это полностью устранило предупреждение о том, что сервисы не работают для нас на более чем 100 серверах Windows и 200 клиентских рабочих станциях. ОДНАКО, пожалуйста, не вносите это изменение, если вы не делаете это на непроизводственном компьютере или уверены, что оно не будет иметь никаких неблагоприятных последствий.
Несмотря на то, что у нас не было никаких проблем с этим обходным путем, это не значит, что проблем не существует - просто будьте осторожны при его изменении!
Надеюсь это поможет!