Windows 8 x64 中的 IPHLPSVC CPU 过高

Windows 8 x64 中的 IPHLPSVC CPU 过高

我在 Windows 8 Pro x64 中遇到了持续的高 CPU 使用率。原因是 svchost 以恒定的 25% CPU 运行,即使在空闲时也是如此。我检查了 svchost 正在运行的服务,并将它们打开/关闭,直到找到原因。

事实证明,一项服务 IPHLPSVC (IP Helper) 是造成所有 CPU 使用率的原因。一旦我停止该服务,CPU 在空闲时会下降到 0-1%。

我做了一些研究,似乎 IPHLPSV 适用于过渡到 IPv6。我仍然使用 IPv4,任务停止后没有遇到任何问题。我应该禁用该任务吗?有人知道是什么原因导致的吗?

答案1

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
  • 类型插件库在该Variable value领域。
  • 单击OK三次以关闭对话框。

您可能需要重新启动。

这有未经过测试我自己没有 Windows 8 系统机器可以测试。此信息是针对 Windows 7 发现的,如果您有从 Windows 7 升级到 Windows 8 的系统,则这些信息可能直接相关。

相关内容