8

I was experiencing consistent high CPU usage in Windows 8 Pro x64. The cause was svchost running at a constant 25% CPU, even at idle. I checked the services that the svchost was running, and toggled them on/off until I found the cause.

It turns out one service, IPHLPSVC (IP Helper), was responsible for all the CPU usage. Once I stopped the service, the CPU dropped down to 0-1% at idle.

I did some research and it seems like IPHLPSV is for transition to IPv6. I'm still on IPv4 and don't experience any issues with the task stopped. Should I just disable the task? Does anyone have any ideas of what could be causing the issue?

5
  • I would disable the service until you know IPv6 is needed. It is usually a sound practice to disable unneeded services anyway, as it limits your exposure to security risks.
    – vgoff
    Nov 17, 2012 at 20:20
  • @vgoff Thanks for the response. That's what I was thinking too. Do you have any idea what could be causing the issue though? I thought it could be some sort of driver problem
    – kyryx
    Nov 17, 2012 at 20:33
  • No idea, you would have to consult the logs to to see what it is that the IP helper is trying to do.
    – vgoff
    Nov 17, 2012 at 20:35
  • I now have some more hints. Do you have the %windir%\system32\drivers\Tunnel.sys file? It is central to that service. Also was this a clean install of Windows 8 or an upgrade?
    – vgoff
    Nov 17, 2012 at 20:59
  • im having this prob in win7x64. maybe a week now. just bogged to @#$@#. turned off the srevice and seems to have fixed things. My dll is there, so what the heck!
    – boomhauer
    Jan 24, 2013 at 14:52

2 Answers 2

7

IPHLPSVC is responsible for IPv6 transition technologies. However, these do not work out of the box and require additional configuration (or just do not work at all in 2016).

Microsoft recommends against using ISATAP (in Understanding IPv6, Third Edition, p. 302) and says that native IPv6 should be used instead. Public 6to4 service is officially deprecated (RFC 7526; BCP 196). And Teredo has a long list of issues (only one IPv6 address which is guessable, limited NAT traversal support, various connectivity problems) which recommend against its use generally.

Unfortunately Windows had a bad habit of enabling all of these by default.

If you aren't knowingly using IPv6 transition technologies, you should explicitly disable them.

Right-click on Command Prompt and choose Run as Administrator. Then paste in the following commands:

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

You can also disable these with PowerShell (again, as Administrator):

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

Then restart your computer.

2

You may be able to ignore that plugin by doing the following steps.

  • Click Start, right-click Computer, and then click Properties.
  • On the Advanced tab, click Environment Variables.
  • Under System variables, click New.
  • Type MIG_UPGRADE_IGNORE_PLUGINS in the Variable name field.
  • Type IphlpsvcMigPlugin.dll in the Variable value field.
  • Click OK three times to close the dialog boxes.

You may need to restart.

This has not been tested by me, as I do not have a Windows 8 system machine to test on at the moment. This information was found for Windows 7, which may be directly relevant if you have an upgraded Windows 8 system from Windows 7.

2
  • I do have a the %windir%\system32\drivers\Tunnel.sys file, and this is a completely clean install of Windows 8. Doesn't adding the MIG_UPGRADE_IGNORE_PLUGINS variable just do the same thing as disabling the service?
    – kyryx
    Nov 17, 2012 at 21:34
  • Unsure. I don't have a system to test on. It is likely not applicable to you regardless, as you are not involved in an 'upgrade'.
    – vgoff
    Nov 17, 2012 at 21:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .