Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Great detail. If it is a faulty sensor, it would still require a board level repair?

Yes. This is the part where you have to correlate which sensor is where on the logic board using schematics and board view. then figure which part of the sensor circuit that causes it to be faulty (sometime its the sensor chip, sometime its the components connecting to it). But some of it is pretty obvious (if you see corrosion) That or just ship it to a repair shop that has the know-how (such as Louis Rossmann's).

This is also the part where you do cost-benefit analysis between getting the board fixed. Or just buy a new board off e-bay. But at most it shouldn't cost more than $300-400 either way.

The cool part about these model range is that, you can transplant the storage to other Macs of similar model year. So late 2013 to 2015 macs should have interchangeable storage.
 
Here's what you do :

1. Open Activity Monitor. You should see kernel_task consuming almost 100% cpu. Is it the case?

2. Download Intel Power Gadget, iStat Menus, or TG Pro

3. Install Intel Power Gadget. Use iStat Menus or TG Pros to monitor sensors

4. open a Terminal window. Run 'pmset -g thermlog'

5. Then there should be about 3 possibilities

- 4.1 - One of the sensors are malfunctioning, and reporting the wrong temperature tricking the system into throttling.

- 4.2 - The temps are insanely high on some components, (and it is really thermal throttling).

- 4.3 - None of those. (Could be missing kexts, malfunctioning hardware, liquid damage, etc) And you will have to actually start digging through logs at this point.

EDIT/Notes:
4.1 should be easy to spot with pmset and istat menus/ TG Pro
4.2 Highest temp your dGPU should have is no more than 65C, CPU can go up to 100C before it throttles.

pmset -g thermlog should say if macos scheduler is responsible for the throttle or not. If it is, then something is making the machine think it's overheating.
The temps seem normal on every sensor, and the command comes back without a warning and a speed limit of 100. It seems to work OK for now, but every couple of hours it seems to go haywire and gets practically unusable. Even saving a illustrator document is too much for it, and causes everything to crash.


So if a user uses fan control utility to limit the fan speed on their mac, and the dGPU temp spikes, the macOS will order the CPU to throttle to prevent GPU overheat. (As they share the same heatpipe by design) (I learned this first hand trying to silence my Macbook Pro from heating up with external monitor connected. Forced the fan to go slower, it throttles the CPU!)

I use MacsFanControl, but in a different way. I have it set so that when either the CPU or GPU hits 80C the fans go at full speed, and they start ramping up above 50C. My MBP is noisier compared to the stock settings, but gives way better performance.
 
The temps seem normal on every sensor, and the command comes back without a warning and a speed limit of 100. It seems to work OK for now, but every couple of hours it seems to go haywire and gets practically unusable. Even saving a illustrator document is too much for it, and causes everything to crash.




I use MacsFanControl, but in a different way. I have it set so that when either the CPU or GPU hits 80C the fans go at full speed, and they start ramping up above 50C. My MBP is noisier compared to the stock settings, but gives way better performance.

Leave the pmset command running in the background and keep the monitoring software running. And check the stats as soon as they slowed down again.
 
Well, after having tried out my original battery, still the same result. I recorded one of these panics with the command in terminal:
Code:
Note: No thermal warning level has been recorded
Note: No performance warning level has been recorded
2020-10-06 12:25:52 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 40
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:03 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 47
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:04 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 54
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:05 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 60
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:06 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 67
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:06 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 74
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:07 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 80
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:08 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 87
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:09 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 94
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:09 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:10 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:27:11 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:27:11 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:27:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:27:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:27:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:27:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:27:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:27:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:27:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:27:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:27:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:27:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:27:21 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:27:21 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:27:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:27:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:27:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:27:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:27:24 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 100
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:28:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:28:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:28:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:28:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:28:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:28:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:28:24 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:28:25 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:28:26 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:28 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:32 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:34 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:36 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:28:38 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:28:38 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:28:41 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:28:42 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:28:42 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:28:44 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:28:44 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 100

I've got no clue what's triggering this. I set the fans via MacsFansControl to fans ramp up to 100% when the dGPU hits 55C and the CPU 85C... If it would be the dedicated graphics, why would my CPU be throttled down to minimum speeds?
 
For reference, these are the temps recorded by iStatMenus. The only temperatures on the high side are:

- The Air flow proximity. though this is because I'm using the machine in clamshell mode, when I'm using the machine as a normal laptop these temps are lower, and stay low even when it's freaking out at 800MHz.
- The DDR3 proximity. For some reason the RAM proximity is a little toasty, but in my opinion not too hot.
- The left fin stack. Probably also because of the use in clamshell mode.
- The PCH PECI. For some weird reason the chipset is partially cooking itself, but ramping both fans up to 100% has no influence on these temps at all.

I'm clueless as to what the cause of this problem might be. It seems to come out of nowhere. It occurs when I'm just browsing the web on a forum, or doing 3D modelling in Blender. The workload doesn't influence anything.

I really wanted to buy a Mac desktop and have my MBP for the 1 time a week I go to college. Seems like that plan can go out of the window and I'm going to have to buy a new MacBook.
Screenshot 2020-10-06 at 12.41.08.png
 
  • Like
Reactions: Audit13
Well, after having tried out my original battery, still the same result. I recorded one of these panics with the command in terminal:
Code:
Note: No thermal warning level has been recorded
Note: No performance warning level has been recorded
2020-10-06 12:25:52 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 40
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:03 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 47
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:04 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 54
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:05 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 60
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:06 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 67
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:06 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 74
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:07 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 80
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:08 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 87
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:09 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 94
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:09 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:27:10 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:27:11 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:27:11 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:27:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:27:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:27:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:27:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:27:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:27:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:27:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:27:17 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:27:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:27:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:27:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:27:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:27:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:27:21 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:27:21 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:27:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:27:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:27:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:27:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:27:24 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 100
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:28:12 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:28:13 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:28:14 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:15 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:28:16 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:28:18 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:28:19 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:28:20 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 21
2020-10-06 12:28:22 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 24
2020-10-06 12:28:23 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 27
2020-10-06 12:28:24 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 29
2020-10-06 12:28:25 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 32
2020-10-06 12:28:26 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:28 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:32 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 35
2020-10-06 12:28:34 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 37
2020-10-06 12:28:36 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 40
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 43
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 45
2020-10-06 12:28:37 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 48
2020-10-06 12:28:38 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 51
2020-10-06 12:28:38 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 54
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 56
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 59
2020-10-06 12:28:39 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 62
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 64
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 67
2020-10-06 12:28:40 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 70
2020-10-06 12:28:41 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 72
2020-10-06 12:28:42 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 75
2020-10-06 12:28:42 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 78
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 81
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 83
2020-10-06 12:28:43 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 86
2020-10-06 12:28:44 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 89
2020-10-06 12:28:44 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 91
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 94
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 97
2020-10-06 12:28:45 +0200 CPU Power notify
    CPU_Scheduler_Limit     = 100
    CPU_Available_CPUs     = 8
    CPU_Speed_Limit     = 100

I've got no clue what's triggering this. I set the fans via MacsFansControl to fans ramp up to 100% when the dGPU hits 55C and the CPU 85C... If it would be the dedicated graphics, why would my CPU be throttled down to minimum speeds?

This part:
2020-10-06 12:25:52 +0200 CPU Power notify
CPU_Scheduler_Limit = 40
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:03 +0200 CPU Power notify
CPU_Scheduler_Limit = 47
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:04 +0200 CPU Power notify
CPU_Scheduler_Limit = 54
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:05 +0200 CPU Power notify
CPU_Scheduler_Limit = 60
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:06 +0200 CPU Power notify
CPU_Scheduler_Limit = 67
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:06 +0200 CPU Power notify
CPU_Scheduler_Limit = 74
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:07 +0200 CPU Power notify
CPU_Scheduler_Limit = 80
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:08 +0200 CPU Power notify
CPU_Scheduler_Limit = 87
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21
2020-10-06 12:27:09 +0200 CPU Power notify
CPU_Scheduler_Limit = 94
CPU_Available_CPUs = 8
CPU_Speed_Limit = 21

If I recall correctly,
CPU_Scheduler_limit below 100 Is throttling from the OS scheduler (usually caused by other sensors), and CPU_Speed_Limit is throttling from CPU itself. I believe you can work out CPU_Speed_limit as % from your max CPU frequency.

Try correlating the timeframe with sensor data where there is throttling.
 
For reference, these are the temps recorded by iStatMenus. The only temperatures on the high side are:

- The Air flow proximity. though this is because I'm using the machine in clamshell mode, when I'm using the machine as a normal laptop these temps are lower, and stay low even when it's freaking out at 800MHz.
- The DDR3 proximity. For some reason the RAM proximity is a little toasty, but in my opinion not too hot.
- The left fin stack. Probably also because of the use in clamshell mode.
- The PCH PECI. For some weird reason the chipset is partially cooking itself, but ramping both fans up to 100% has no influence on these temps at all.

I'm clueless as to what the cause of this problem might be. It seems to come out of nowhere. It occurs when I'm just browsing the web on a forum, or doing 3D modelling in Blender. The workload doesn't influence anything.

I really wanted to buy a Mac desktop and have my MBP for the 1 time a week I go to college. Seems like that plan can go out of the window and I'm going to have to buy a new MacBook.View attachment 963494
the stats look interesting as even if CPU is at 800 mhz, the temps are still quite high (in the 60s) It's a dumb question, but have you changed the thermal paste in there? or dusted the fans? (As you might have checked already)
 
the stats look interesting as even if CPU is at 800 mhz, the temps are still quite high (in the 60s) It's a dumb question, but have you changed the thermal paste in there? or dusted the fans? (As you might have checked already)
I changed the thermal paste 2 times in the last month, first because I also thought that the idle temps were quite high, so I applied Kryonaut to replace the previously installed conductonaut. The temps seemed quite high after the first change so I thought the application wasn't good enough, so I did it again, but the temps stayed the same. I "disassembled" the fans (took the metal cover off) and gave them a good clean, so they are also dust-free.

The screenshot of the temps above is from when the MBP is at 800MHz, and to me nothing seems to be the trigger for it to go haywire...
 
I changed the thermal paste 2 times in the last month, first because I also thought that the idle temps were quite high, so I applied Kryonaut to replace the previously installed conductonaut. The temps seemed quite high after the first change so I thought the application wasn't good enough, so I did it again, but the temps stayed the same. I "disassembled" the fans (took the metal cover off) and gave them a good clean, so they are also dust-free.

The screenshot of the temps above is from when the MBP is at 800MHz, and to me nothing seems to be the trigger for it to go haywire...

That's what concerns me. @ 800 mhz I don't think it should ever get that hot. (It's hotter than my rMBP 2015 at normal idle speed)

What's your ambient anyway?
 
Also, is it the same MBP you did a "liquid metal mod" on? (I spotted your old post doing a liquid metal mod) Are you using the same heatsink? and when did this throttling issue started happening. Is it after you done the mod?

If so you might wanna try replacing the heatpipe and fins first. (As sanding the plate down might make it not leveled, and create air gaps in the heatsink.)

I had problems with mine some years ago (I also did liquid metal at some point, it got way better than stock, than way worse. So I got rid of it.)

Another theory could be a rogue "splatter" of liquid metal that landed on some components. causing a short. But this is unlikely to happen. (As most shorts would've fried a component, not just making them run hotter) (I spotted a tiny dot of it on mine during my routine maintenance check, a year after I got rid of LM on my heatsink.)

This is me speculating tho. As we ruled out the most likely cases already.

Note: it's this post:
 
Try this:

1. Uninstall Macs Fan Control. I've heard of this happening where it throttles even though the temps are fine because of third party fan control. Had that happen to a friend of mine
2. Make sure iStat Menus' fan control is set to System Controlled
3. After uninstalling Macs Fan Control, reset SMC and PRAM again

Report back on how it's doing.
 
Try this:

1. Uninstall Macs Fan Control. I've heard of this happening where it throttles even though the temps are fine because of third party fan control. Had that happen to a friend of mine
2. Make sure iStat Menus' fan control is set to System Controlled
3. After uninstalling Macs Fan Control, reset SMC and PRAM again

Report back on how it's doing.
I uninstalled it, but after about 2 hours it had the same "panic"...
 
Are you on macOS 10.15.7?

Are you able to try Mojave from an external drive?
 
I'm on the latest version of the Big Sur beta. I've had these issues since Mojave, but I could try using Mojave for a bit.
 
  • Like
Reactions: Audit13
Usually 800mhz 'throttling' is usually caused by faulty sensors that 'tricked' the system into thinking that it is overheating when it's actually not. Apps like iStat Menus or TG Pro has a way to read sensor data of the SMC and then display it in the app. This way we can detect if any sensor is reporting weird values (say air intake 'A' sensor reporting 105C when its ususally 30C) or when it's reporting proper values, but just actually overheating.

Some components could be overheating without apparent symtoms as they don't get as hot as say, a CPU.

GPUs and VRMs fits this bill.

On systems with discrete GPUs (espc AMD ones such as 2015 15" Macbook Pro) the macos scheduler WILL throttle the CPU if it thinks the GPU die temperature approaches 65C and if the fan is not spinning at its 'desired' speed. (Keep in mind that AMD GPUs tend to either 'crash' or die when the GPU die goes above 70c) (This is more pronounced when you are running bootcamp. I ran into the hard limit of 75c, going above it risks BSOD. macOS gpu driver would also start to risk causing kernel panic once it goes above this temp as well)

But then again. This is just one data point, and thus might not be accurate.

So if a user uses fan control utility to limit the fan speed on their mac, and the dGPU temp spikes, the macOS will order the CPU to throttle to prevent GPU overheat. (As they share the same heatpipe by design) (I learned this first hand trying to silence my Macbook Pro from heating up with external monitor connected. Forced the fan to go slower, it throttles the CPU!)

There are also reports of system throttling due to overheated VRMs as well. (Though those had more to do with thermal throttling. which usually the CPU won't throttle this badly, only go down to 1.8-ish Ghz)

Another culprit could be Defective/Hardware problem. there had been reports of SMC sensors signal being 'interfered' by a bent trace near the iSight connector on some macbook pro models (again, A1398 models). That would 'trick' the SMC into beliving that one of the GPU die temp is too high, and that puts the system into 800mhz as well. Utilities such as iStat Pro and TG Pro can see this happening (it would show as one data point being way higher than usual temp (Or even better yet HWSensor AKA HWMonitor for mac, as it can tell you when the SMC receives the overheat signal)

Also, pmset -g thermlog would also say what level of throttling the scheduler is employing, and might be useful as to what triggers the throttle.

I hope that answer your question ;)
Yo man! My sisters' Mid 2014 15" 2.5/GT750M has this exact same issue, but is also entirely missing the iSight connector. It was like legit ripped off the motherboard, and also has a lot of sensors tripped at 128C, which include the Heatpite 2 and 3, heat pipe air out, GPU Die 1 and 2, and proximity. This machine is also limited at 800Mhz but thought some magic with VoltageShift I have been able to very partially fix the issue when I use it. But its annoying. Besides fixing the iSight connector, do you foretell any other things I could look into? VoltageShift only gets me so far. I has to be applied manually at boot and wastes a lot of power at 2.7GHz permanently, to say nothing of the performance of the HD 5200.
 
Yo man! My sisters' Mid 2014 15" 2.5/GT750M has this exact same issue, but is also entirely missing the iSight connector. It was like legit ripped off the motherboard, and also has a lot of sensors tripped at 128C, which include the Heatpite 2 and 3, heat pipe air out, GPU Die 1 and 2, and proximity. This machine is also limited at 800Mhz but thought some magic with VoltageShift I have been able to very partially fix the issue when I use it. But its annoying. Besides fixing the iSight connector, do you foretell any other things I could look into? VoltageShift only gets me so far. I has to be applied manually at boot and wastes a lot of power at 2.7GHz permanently, to say nothing of the performance of the HD 5200.

Short of fixing the problem at component level, you can try looking into setting up launch agents for voltageshift to engage its setting at startup.

You can also look into using LoginHooks to launch voltageshift with every login screen.

An alternative is to try to disable BD_PROCHOT MSR register using VoltageShift’s msr write function, but I haven’t had much luck with this.
 
Last edited:
  • Like
Reactions: hzlph
Short of fixing the problem at component level, you can try looking into setting up launch agents for voltageshift to engage its setting at startup.

You can also look into using LoginHooks to launch voltageshift with every login screen.

An alternative is to try to disable BD_PROCHOT MSR register using VoltageShift’s msr write function, but I haven’t had much luck with this.
Unfortunately, I'm more of the same. It appears something else is actively making the CPU go to 800MHz besides BD_PC. I can attest to this because on Windows, TS can't fix that by itself, I need then to force the CPU at a fixed speed. same on macOS, unfortunately, as soon as it goes to sleep, the MSR values are modified and thus I have to repeat this whole thing again to fix performance.

On Ubuntu however, with MSRTools, I am able to set the cores to Performance mode and then the issue is fixed.

So, its clear something else is toying with the speed besides the OS itself. I will obviously try to get the issue fixed on a hardware level, but I need the components and donor board that I don't currently got the money for. I have spent like 300$ fixing this laptop already XD so I will not buy another motherboard for it when this one works just "fine".

Also, the GPU performance is also heavily crippled. IPG reports that the GPU never reaches its max 1.5GHz max speed, topping at around 0.6GHz max. However, unlike on CPU, the speed does vary from 0 to 0.6GHz, so there are also others limiters in place. I'm actively tinkering with VS to see what is the most optimal freedom I can achieve under these circumstances. Ideally, I'd hope to have them modified forever but oh well.

I'd be very useful if I could know if I can modify other MSR values, and how to interpret them! When I read MSR values I get a bunch of hex info but nothing useful (like idk 0x8000), got any idea how I can see what it does read besides hex values (other people have reported what VS can read and it spits both the binary data and hex values. Vs 2.5 just spits back Hex and no binary data.
 
Short of fixing the problem at component level, you can try looking into setting up launch agents for voltageshift to engage its setting at startup.

You can also look into using LoginHooks to launch voltageshift with every login screen.
Unfortunately, I'm more of the same. It appears something else is actively making the CPU go to 800MHz besides BD_PC. I can attest to this because on Windows, TS can't fix that by itself, I need then to force the CPU at a fixed speed. same on macOS, unfortunately, as soon as it goes to sleep, the MSR values are modified and thus I have to repeat this whole thing again to fix performance.

On Ubuntu however, with MSRTools, I am able to set the cores to Performance mode and then the issue is fixed.

So, its clear something else is toying with the speed besides the OS itself. I will obviously try to get the issue fixed on a hardware level, but I need the components and donor board that I don't currently got the money for. I have spent like 300$ fixing this laptop already XD so I will not buy another motherboard for it when this one works just "fine".

Also, the GPU performance is also heavily crippled. IPG reports that the GPU never reaches its max 1.5GHz max speed, topping at around 0.6GHz max. However, unlike on CPU, the speed does vary from 0 to 0.6GHz, so there are also others limiters in place. I'm actively tinkering with VS to see what is the most optimal freedom I can achieve under these circumstances. Ideally, I'd hope to have them modified forever but oh well.

I'd be very useful if I could know if I can modify other MSR values, and how to interpret them! When I read MSR values I get a bunch of hex info but nothing useful (like idk 0x8000), got any idea how I can see what it does read besides hex values (other people have reported what VS can read and it spits both the binary data and hex values. Vs 2.5 just spits back Hex and no binary data.

Usually there is a CPU datasheet that you can look for that will tell you which MSR to manipulate, then you can use voltageshift msr write

How I read it MSR is group of bits, and some value for certain is just one bit in that group it just happen to be expressed in hex. Since its more concise
Ex 0x6b
> 0110 1011

Not sure if this is subject to endian-ness as well when counting bits (intel is little-Endian), so look out for this. Again, consult CPU datasheet. (Google for it)

You’d do best to try to see which MSR bit that the Ubuntu MSRTools manipulatate and then replicate that with Voltageshift.
 
Mine is a late 2013 Macbook pro retina 15 inch. This started happening with me as well as of yesterday. I don't know what suddenly started causing this. Is it possible that a degraded battery could cause some kind of throttling? My battery is under "replace now" condition and that also happened recently. My laptop won't stay on when I unplug adapter. I tried to resetting SMC and PRAM, to no avail. It's really annoying. Using Intel Power Gadget, it shows the cpu is being requested the normal speeds but something constantly keeps it at 0.8.

For what it's worth, I recently had a hard drive corruption and had to reinstall. I was running Mavericks before that happened and basically never used Mac OS but windows 8.1 bootcamp. I had no issues at all. After installing High sierra, I installed windows 8.1. Decided to upgrade to windows 10 since 8.1 is getting closer to it's EOL. I didn't have any issues then either for around 4 weeks or so, except for the shutting down when adapter is unplugged. I can't confirm if the unplugging issue started after the fresh install for sure though. Then suddenly yesterday this starts.

I am tempted to try a battery replacement, but for some reason I feel like that's not the issue. Did anyone figure out a solution for this?
 
Mine is a late 2013 Macbook pro retina 15 inch. This started happening with me as well as of yesterday. I don't know what suddenly started causing this. Is it possible that a degraded battery could cause some kind of throttling? My battery is under "replace now" condition and that also happened recently. My laptop won't stay on when I unplug adapter. I tried to resetting SMC and PRAM, to no avail. It's really annoying. Using Intel Power Gadget, it shows the cpu is being requested the normal speeds but something constantly keeps it at 0.8.

For what it's worth, I recently had a hard drive corruption and had to reinstall. I was running Mavericks before that happened and basically never used Mac OS but windows 8.1 bootcamp. I had no issues at all. After installing High sierra, I installed windows 8.1. Decided to upgrade to windows 10 since 8.1 is getting closer to it's EOL. I didn't have any issues then either for around 4 weeks or so, except for the shutting down when adapter is unplugged. I can't confirm if the unplugging issue started after the fresh install for sure though. Then suddenly yesterday this starts.

I am tempted to try a battery replacement, but for some reason I feel like that's not the issue. Did anyone figure out a solution for this?

I tried to edit my above post but I can't see an option, so just going to post a reply in case someone else has the same issue and this might be a possible solution for them as well.

It was indeed the battery causing it. Well since the battery has degraded and apple doesn't want the laptop shutting off due to lack of power to function at full capacity when demanded (such as turboboosting), they have made it so that a BD PROCHOT signal is constantly sent to limit the performance of the laptop. I replaced my battery and now performance is back to normal. Hope this helps someone!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.