Windows – IPHLPSVC High CPU in Windows 8 x64

cpu usageipv6windows 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?

Best Answer

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.

Related Question