Results 1 to 5 of 5
  1. #1
    ROG Guru: White Belt Array
    Join Date
    Dec 2013
    Reputation
    10
    Posts
    98

    CPU Temp and fans jump only when Monitor go to sleep. Windows is still running.

    Hello there.

    I have a strange issue I hope someone can help with.

    Here is my setup:

    ROG STRIX X570-E GAMING BIOS 4403
    AMD Ryzen 7 5800X 8-Core Processor
    32 GB RAM
    NZXT Kraken Z73
    evga Geforce RTX 3080
    Windows 11 Pro all up to date

    Everything is running fine when I am using the machine. All temperatures and fan speeds are normal. The issue only occurs when I leave my machine. For example:

    After I press the Windows Key + L to lock my machine, the screen will show the lock screen for a minute or so then the screen shuts off. After that the CPU temperature will jump from 40c to 60c and the CPU fans spin up and it will sit like that until I come back and wake the screen and log back in then the CPU temp will lower back to around 40c and the fans quiet down.

    Note that the machine is not set to go to sleep at all. The power plan is based off the Balanced Power plan and I've set it to only turn off the display and never go to sleep.

    My first thought is that something in Windows 11 is running causing the CPU temp and fans to jump. I've checked the task manager but nothing out of the ordinary is there. Even if I reboot and not open any programs, and then use the Windows Key + L to lock my machine right away, right after the screen shuts off the CPU and fans jump again.

    I'm at a loss as to what is causing this as I can't find what is running or starting up when my display turns off.

    Any ideas as to what I can do to resolve this issue other than shut the machine off when I'm not using it?

    Thanks in advance!

  2. #2
    New ROGer Array Murph_9000 PC Specs
    Murph_9000 PC Specs
    MotherboardROG Crosshair VIII Extreme
    ProcessorAMD Ryzen 5950X
    Memory (part number)Crucial Ballistix DDR4-3600 CL16 (BL16G36C16U4B.M16FE1)
    Graphics Card #1ROG Strix Radeon™ RX 6750 XT OC Edition 12GB GDDR6
    MonitorROG Strix XG43UQ, XG27AQM
    Storage #1Seagate FireCuda 530
    CPU CoolerROG Ryujin II 360
    CaseROG Strix Helios
    Power SupplyROG Thor 1200W Platinum
    Keyboard ROG Strix Scope RX, ROG Claymore II
    Mouse ROG Keris Wireless, ROG Chakram X
    Headset ROG Delta S
    Mouse Pad ROG Scabbard II
    OS Windows 11 Pro
    Network RouterROG Rapture GT-AX6000
    Accessory #1 LINKUP Ultra PCIe 4.0 x16 Riser Cable - Right Angle - 20cm

    Join Date
    May 2022
    Reputation
    59
    Posts
    106

    I've not really played with it much myself, but AIDA64 has sensor logging. It looks like it can log CPU utilisation, so you could use that to confirm that it's actually CPU activity that's doing it (the most likely cause), and log whatever other system stats you think might be enlightening.

    To find the actual process(es) using CPU heavily, you could use PowerShell and Get-Counter to capture and log per-process CPU usage. Here's an example from the MS docs (example 14 in the PS 7.2 docs for Get-Counter) which gives you a starting point:

    Code:
    $Procs = Get-Counter -Counter "\Process(*)\% Processor Time"
    $Procs.CounterSamples | Sort-Object -Property CookedValue -Descending |
       Format-Table -Property Path, InstanceName, CookedValue -AutoSize
    That gives you a snapshot of per-process CPU% at the time (with 100 being 100% of a single logical CPU, so the total adds up to 3200% on a 5950X with 32 logical CPUs (16 dual-thread cores)). Here's a version which filters out all the processes sat on 0:

    Code:
    $Procs = Get-Counter -Counter "\Process(*)\% Processor Time"
    $Procs.CounterSamples |
        Where-Object -Property CookedValue -GT 0 |
        Sort-Object -Property CookedValue -Descending |
        Format-Table -Property Path, InstanceName, CookedValue -AutoSize
    Wrap that in a loop which captures and logs the data, and you should be able to see exactly what is chewing CPU. That's assuming the cause is the obvious one, that some process is ramping up, using a lot of CPU, generating heat, and the fans are just doing what they are supposed to do in that situation.

  3. #3
    ROG Guru: White Belt Array
    Join Date
    Dec 2013
    Reputation
    10
    Posts
    98

    Thanks Murph_9000 for your response. Greatly appreciated.

    However I do not know how to wrap this code in a loop or know where to find the information I need. My powershell skills are very basic.

    I tried to run it but this is what I got.....

    PS C:\WINDOWS\system32> $Procs = Get-Counter -Counter "\Process(*)\% Processor Time"
    >> $Procs.CounterSamples |
    >> Where-Object -Property CookedValue -GT 0 |
    >> Sort-Object -Property CookedValue -Descending |
    >> Format-Table -Property Path, InstanceName, CookedValue -AutoSize
    Get-Counter : The data in one of the performance counter samples is not valid. View the Status property for each
    PerformanceCounterSample object to make sure it contains valid data.
    At line:1 char:10
    + $Procs = Get-Counter -Counter "\Process(*)\% Processor Time"
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~
    + CategoryInfo : InvalidResult: ( [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetC ounterCommand


    Path InstanceName CookedValue
    ---- ------------ -----------
    \\chris-ryzen\process(_total)\% processor time _total 1584.44874370321
    \\chris-ryzen\process(idle)\% processor time idle 1545.49965954138
    \\chris-ryzen\process(nzxt cam#4)\% processor time nzxt cam 14.0216702982585
    \\chris-ryzen\process(wmiprvse#1)\% processor time wmiprvse 9.347780198839
    \\chris-ryzen\process(dwm)\% processor time dwm 6.23185346589267
    \\chris-ryzen\process(phoneexperiencehost)\% processor time phoneexperiencehost 3.11592673294633
    \\chris-ryzen\process(cam_helper#2)\% processor time cam_helper 3.11592673294633
    \\chris-ryzen\process(taskhostw)\% processor time taskhostw 3.11592673294633
    \\chris-ryzen\process(svchost#29)\% processor time svchost 3.11592673294633
    \\chris-ryzen\process(lightingservice)\% processor time lightingservice 1.55796336647317
    \\chris-ryzen\process(explorer)\% processor time explorer 1.55796336647317
    \\chris-ryzen\process(system)\% processor time system 1.55796336647317


    PS C:\WINDOWS\system32>

    Any assistance would be appreciated.

    Thanks again.

  4. #4
    New ROGer Array Murph_9000 PC Specs
    Murph_9000 PC Specs
    MotherboardROG Crosshair VIII Extreme
    ProcessorAMD Ryzen 5950X
    Memory (part number)Crucial Ballistix DDR4-3600 CL16 (BL16G36C16U4B.M16FE1)
    Graphics Card #1ROG Strix Radeon™ RX 6750 XT OC Edition 12GB GDDR6
    MonitorROG Strix XG43UQ, XG27AQM
    Storage #1Seagate FireCuda 530
    CPU CoolerROG Ryujin II 360
    CaseROG Strix Helios
    Power SupplyROG Thor 1200W Platinum
    Keyboard ROG Strix Scope RX, ROG Claymore II
    Mouse ROG Keris Wireless, ROG Chakram X
    Headset ROG Delta S
    Mouse Pad ROG Scabbard II
    OS Windows 11 Pro
    Network RouterROG Rapture GT-AX6000
    Accessory #1 LINKUP Ultra PCIe 4.0 x16 Riser Cable - Right Angle - 20cm

    Join Date
    May 2022
    Reputation
    59
    Posts
    106

    Ok, no problem. You can probably just ignore the error stuff about invalid data at the top, that's probably just noise from Windows being Windows. I don't know exactly why you're getting that exception, but it's not necessarily something to worry about.

    Here's a version with the output cleaned up and simplified a little. It runs every 10 seconds until you stop it by hitting Ctrl+C. Just paste it into a PowerShell window, it should give the first output immediately. You can then lock your screen to provoke the problem, and the script should continue to run. Wait a minute or so, then unlock the screen and you should be able to scroll back and see what was using CPU. It spits out a timestamp and then effectively a snapshot of CPU usage (equivalent to Task Manager), sleeps, and repeats until stopped.

    Code:
    $Counter = "\Process(*)\% Processor Time"
    $Interval = 10 # Number of seconds between loops
    
    while ($true) {
        $Procs = Get-Counter -Counter $Counter
        $Procs.Timestamp
        $Procs.CounterSamples |
            Where-Object -Property CookedValue -GT 0 |
            Sort-Object -Property CookedValue -Descending |
            Format-Table -Property InstanceName, @{ Label='CPU'; Expression={$_.CookedValue/100}; FormatString='P' } -AutoSize
    
        Start-Sleep $Interval
    }
    The output should look similar to:
    Code:
    07 August 2022 08:42:28
    
    InstanceName           CPU
    ------------           ---
    _total           3,198.34%
    idle             3,130.65%
    lightingservice     40.00%
    wmiprvse            10.77%
    msmpeng              6.15%
    taskmgr              3.08%
    aac3572mbhal_x86     3.08%
    gpu tweak iii        1.54%
    steamwebhelper       1.54%
    perfmon              1.54%
    On your 5800X, the total should be around 1600% for the 16 logical CPUs (8 dual-thread cores), the total varies a little from the theoretical due to the way Microsoft measure it. Hopefully this should show something using a lot of CPU after the display is locked. Don't worry about possible higher CPU just after locking, in the first output after the screen goes off, as some stuff may react to the loss of the display before settling down again. Look for what goes high and stays high.

  5. #5
    ROG Guru: White Belt Array
    Join Date
    Dec 2013
    Reputation
    10
    Posts
    98

    Thank you Murph_9000!!!!!!

    You are awesome and with this code I was able to determine what was eating up my CPU. Here are the results:

    Sunday, August 7, 2022 12:27:35 PM



    InstanceName CPU
    ------------ ---
    _total 1,582.74%
    idle 1,557.98%
    dwm 6.19%
    phoneexperiencehost 4.64%
    nzxt cam 4.64%
    cam_helper 4.64%
    lightingservice 1.55%
    explorer 1.55%
    qbittorrent 1.55%



    Sunday, August 7, 2022 12:29:14 PM



    InstanceName CPU
    ------------ ---
    _total 1,599.53%
    idle 1,478.03%
    phoneexperiencehost 99.97%
    cam_helper 4.61%
    wmiprvse 4.61%
    nzxt cam 3.08%
    system 3.08%
    agent 1.54%
    lightingservice 1.54%
    dsatray 1.54%
    steam 1.54%



    Sunday, August 7, 2022 12:29:25 PM



    InstanceName CPU
    ------------ ---
    _total 1,601.11%
    idle 1,482.56%
    phoneexperiencehost 100.07%
    nzxt cam 3.08%
    msedge 3.08%
    cam_helper 3.08%
    msmpeng 1.54%
    lightingservice 1.54%
    msedge 1.54%
    asuscertservice 1.54%
    steam 1.54%
    msedge 1.54%

    phoneexperiencehost is the culprit. That is the Microsoft Phone Link software that connects my cell phone to my PC. A rather handy utility however I don't need it running when I'm not at my machine so I just have to remember to turn it off before I leave my PC.

    When I have Phone Link shut off and then I use Windows Key + L to lock my machine, the CPU temps and fans no longer jump like they were before.

    Thank you so very much for your help!

    I've submitted feedback to MS using the Feedback Hub not that they are going to fix this for me but to make them aware of the issue with Phone Link.

    Thanks again!!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •