0

I have been struggling with high CPU usage for a pretty long time, the issue happens when I do a full reboot of my laptop (a DELL Precision M6800, Windows 7, 64bits), it happens in the ACPI.sys process (I found this via the Kernrate tool from Microsoft) and the CPU usage stays between 9% and 12%. If I restart the laptop, the issue disappears.

Today, I ran into a post in this forum (Troubleshoot High CPU usage by the "System" process) where the user magicandre1981 provides a pretty detailed guidance on trying to find the cause of this issue, which I find very informative and helpful.

After installing and running the WPR tool suggested by magicandre1981 in his answer to the above-mentioned post, I got the attached CPU usage chart where it seems that the main problem is in the function DefPortWriteAcpiRegister in ACPI.sys. In another post I found in another forum (https://msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/?page=80) magicandre1981 (I assumed is the same user) suggests that in this case the issue might be due to a temperature problem in the laptop, but I am not sure how to check this. Any further advice on how to solve this issue will be greatly appreciated.

Capture_DELL_PrecisionM6800_WPR_CPUusage_20190301

2 Answers 2

0

After waiting some time for a potential answer (unfortunately, I have not receive any), I continued searching and found the following solution posted by @qedstar in here System (ACPI.sys) is always using about 15-20% of my CPU: "Network Connections -> Intel(R) Ethernet Connection I217-LM -> right click Properties -> Configure -> Power Management -> section Wake on LAN -> disable Wake on Magic Packet AND Wake on Pattern Match."

I tried it a couple of days ago, since then have done a full reboot 3 times and the problem seems to be solved.

0

To add a workaround solution for those of us that use WOL despite this incredibly long lasting bug that intel and microsoft don't care to fix, I give you my solution that entails turning wol off and then on early in the system wake process. I recommend you confirm that turning off wol "wake on magic packet" does in fact reduce your overzealous cpu usage. In my scenario, "wake on pattern match" is off.

I added a task to run a batch file on wake (log: system, source: kernel-power, event id: 131). Make sure to check: Run whether user is logged in or not and: Run with highest privileges.

The batch file is as follows (use your own paths):

powershell -ExecutionPolicy Bypass -File "C:\Users\%username%\Documents\woldisable.ps1"

pathping localhost -n -q 1 -p 50 > nul 2>&1

powershell -ExecutionPolicy Bypass -File "C:\Users\%username%\Documents\wolenable.ps1"

woldisable.ps1 is as follows (you may have to change the name: "Ethernet" is the default windows 10 name for a wired internet connection check under: Network and Internet Settings):

Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Magic Packet" -DisplayValue "Disabled" -NoRestart

wolenable.ps1 is as follows:

Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Magic Packet" -DisplayValue "Enabled"

I think potentially you could call a .ps1 file from the get go and bypass the batch but this is working for me so that is how I will leave it for now.

1
  • What is the purpose of the pathping localhost -n -q 1 -p 50 ?
    – Sam Hasler
    Commented Mar 2, 2021 at 9:36

You must log in to answer this question.

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