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?

  • 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 '12 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 '12 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 '12 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 '12 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 '13 at 14:52

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.


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.

  • 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 '12 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 '12 at 21:38

protected by JakeGould Dec 19 '15 at 4:55

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.