IPHLPSVC High CPU в Windows 8 x64

8

Я испытывал постоянную высокую загрузку процессора в Windows 8 Pro x64. Причиной была svchost, работающий с постоянным 25% процессором, даже в режиме ожидания. Я проверил сервисы, на которых работал svchost, и включал / выключал их, пока не нашел причину.

Оказывается, один сервис, IPHLPSVC (IP Helper), отвечал за все использование процессора. Как только я остановил службу, процессор упал до 0-1% на холостом ходу.

Я провел некоторые исследования, и похоже, что IPHLPSV предназначен для перехода на IPv6. Я все еще на IPv4 и не испытываю проблем с остановленной задачей. Должен ли я просто отключить задачу? У кого-нибудь есть идеи о том, что может быть причиной проблемы?

kyryx
источник
Я бы отключил службу, пока вы не узнаете, что IPv6 необходим. Обычно в любом случае целесообразно отключать ненужные службы, так как это ограничивает вашу подверженность угрозам безопасности.
vgoff
@vgoff Спасибо за ответ. Об этом я тоже думал. Есть ли у вас какие-либо идеи, что может быть причиной проблемы? Я думал, что это может быть какая-то проблема с драйверами
kyryx
Понятия не имею, вам придется ознакомиться с журналами, чтобы увидеть, что пытается делать хелпер IP.
vgoff
Теперь у меня есть еще несколько подсказок. У вас есть %windir%\system32\drivers\Tunnel.sysфайл? Это главное в этой службе. Также это была чистая установка Windows 8 или обновление?
vgoff
У меня есть эта проблема в Win7x64. может быть, неделю сейчас. просто увяз в @ # $ @ #. выключил аппарат и, кажется, исправил вещи. Моя DLL там, так что, черт возьми!
Boomhauer

Ответы:

8

IPHLPSVC отвечает за переходные технологии IPv6. Однако они не работают "из коробки" и требуют дополнительной настройки (или просто не работают вообще в 2016 году).

Microsoft рекомендует не использовать ISATAP (в « Понимании IPv6, третье издание» , стр. 302) и говорит, что вместо него следует использовать собственный IPv6. Публичная служба 6to4 официально устарела (RFC 7526; BCP 196). И у Teredo есть длинный список проблем (только один IPv6-адрес, который является вероятным, ограниченная поддержка прохождения NAT, различные проблемы с подключением), которые рекомендуют вообще не использовать.

К сожалению, у Windows была плохая привычка включать все это по умолчанию.

Если вы сознательно не используете технологии перехода IPv6, вам следует явно отключить их.

Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Затем вставьте следующие команды:

netsh int ipv6 isatap set state disabled
netsh int ipv6 6to4 set state disabled
netsh int teredo set state disabled

Вы также можете отключить их с PowerShell (опять же, как администратор):

Set-NetIsatapConfiguration -State Disabled
Set-Net6to4Configuration -State Disabled
Set-NetTeredoConfiguration -Type Disabled   

Затем перезагрузите компьютер.

Майкл Хэмптон
источник
2

Вы можете игнорировать этот плагин, выполнив следующие шаги.

  • Нажмите Start, щелкните правой кнопкой мыши Computer, а затем нажмите Properties.
  • На Advancedвкладке нажмите Environment Variables.
  • Под System variables, нажмите New.
  • Введите MIG_UPGRADE_IGNORE_PLUGINS в Variable nameполе.
  • Введите IphlpsvcMigPlugin.dll в Variable valueполе.
  • Нажмите OKтри раза, чтобы закрыть диалоговые окна.

Возможно, вам придется перезагрузить.

Это не было проверено мной, так как у меня нет системного компьютера с Windows 8 для тестирования на данный момент. Эта информация была найдена для Windows 7, что может иметь непосредственное отношение к обновленной системе Windows 8 с Windows 7.

vgoff
источник
У меня есть %windir%\system32\drivers\Tunnel.sysфайл, и это полностью чистая установка Windows 8. Разве добавление переменной MIG_UPGRADE_IGNORE_PLUGINS не делает то же самое, что отключение службы?
kyryx
Неуверенный. У меня нет системы для тестирования. Скорее всего, это не относится к вам, поскольку вы не участвуете в «обновлении».
vgoff