IMac – CPU stuck at 0.8Ghz on iMac late 2013 2.7Ghz because of kernel_task

cpuimackernelpower-managementtemperature

I know it seems like this question is like the dozens of other questions about CPU overheating and kernel_task overloading it, but nope.

I found an iMac (yep, found it. In the trash). I fixed it (power board was busted, screen was busted, there was no hard drive). For some reasons that are too long to explain, I ended up with both a SSD and a PCIe SSD. Whatever. I changed the LCD panel with a panel I knew was working, it didn't light up. Obviously, problem was not the LCD panel. Probably lvds connectors, since I already replaced the lvds cable by a new one.

I installed El Capitan on the PCIe SSD. Other SSD, for the moment, was left alone.
Computer was unusually slow, so I did a benchmark with geekbench. I got these results: 430 single core, and 1220 multi-core. Usual results for this computer are around 3600 single core and 10 000 multi-core.

After running apple diagnostic, I got errors VFD001 (screen) and PFM006 (SMC controler). Here we go… Fan was going crazy from the beginning, so I had installed macs fan control. People kept telling me it was a firmware issue, but my PCIe SSD was fresh out of an Apple computer, so no reason it shouldn't work.
Checking the temperatures dgave me normal results (around 90°F for the cores and surroundings).

Activity monitor told me kernel_task was operating at 230% all the time (sometime it would go up to 500%), and Intel Power Gadget told me the CPU frequency stayed steadily at 0.8Ghz. Except… when the computer would wake up from sleep. Then, kernel_task hadn't already kicked in, and the processor went up to 1.8Ghz (would probably go up more, but with only safari, power gadget and the activity monitor on, why would it).

After some tests (I checked the ram, because why not, I checked both hard drives, I checked the CPU (100% in working order, frequency at 2.7 as should be), I came to the conclusion that the faulty SMC was the culprit.

By then, I had long done the SMC reset (one of the first things I tried), PRAM reset, reinstalled el Capitan, installed Mavericks on the second hard-drive, booted on a Yosemite system on a thunderbolt SSD, booted in safe mode, booted on a new admin session… All the basics were covered. I had also gone to the apple store, where the "genius" told me I had a screen problem (no kidding) and nothing about the SMC (I watch the diagnostic above his shoulder, and I had already ran my diagnostic, so I expected him to say something about it, but he didn't, he just mentionned that my fan was going crazy, and I told him I fixed the fan problem with a third party software). They didn't give me a paper diagnostic or emailed me anything.

From what I could gather, other people have had the same problems on their iMacs. The solution? Sell the computer. Or come on forums and ask questions about the problem, and disappear. So nobody ever posted a solution about that problem.
The "go into the extension folder and delete the list file corresponding to your computer name" famous hack so that the kernel_task wouldn't go crazy about the temperature can't work with my computer : iMac14,1, list stops at iMac12,2. I tried deleting all the files (at that point, what could I lose), nothing changed.

Running powermetrics gave me this :

$ sudo thermal levels
cpu: 255
gpu: 0
io: 12

$ sudo powermetrics
Machine model: iMac14,1
SMC version: 2.14f24
EFI version: IM141.0118.B13
OS version: 15G31

Boot arguments:
Boot time: Tue Nov 29 13:50:48 2016

*** Sampled system activity (Tue Nov 29 14:13:05 2016 +0100) (5031.17ms elapsed) ***

**Running tasks**


Name ID CPU ms/s User% Deadlines (<2 ms, 2-5 ms) Wakeups (Intr, Pkg idle)

kernel_task 0 2418.23 0.00 0.00 0.20 223.01 70.56
WindowServer 187 17.53 45.16 1.19 1.79 4.77 0.99
Activity Monitor 240 44.06 94.37 0.00 0.00 0.60 0.40
Terminal 1027 36.47 52.98 0.00 0.00 0.60 0.40
fontd 256 25.75 76.78 0.00 0.00 0.60 0.00
Intel(R) Power Gadget 368 18.29 87.83 0.00 0.00 12.12 2.78
sysmond 270 9.51 60.13 0.00 0.00 0.80 0.00
MacsFanControl 338 6.30 62.71 0.00 0.00 3.38 0.80
DEAD_TASKS -1 6.11 50.54 0.00 0.00 0.99 0.00
dpd 1082 6.88 54.60 0.00 0.00 0.41 0.00
powermetrics 1080 1.97 23.92 0.00 0.00 0.20 0.20
launchd 1 0.85 29.29 0.00 0.00 0.00 0.00
notifyd 97 0.83 48.82 0.00 0.00 0.00 0.00
softwareupdate_notify_agent 987 0.63 37.78 0.00 0.00 1.79 0.60
nsurlsessiond 295 0.54 67.67 0.00 0.00 0.80 0.80
mDNSResponder 87 0.34 40.41 0.00 0.00 1.99 0.99
launchservicesd 75 0.51 61.01 0.00 0.00 0.40 0.00
SafariCloudHistoryPushAgent 342 0.36 35.88 0.00 0.00 0.99 0.60
nsurlsessiond 190 0.43 59.51 0.00 0.00 0.99 0.80
cfprefsd 124 0.56 63.26 0.00 0.00 0.00 0.00
opendirectoryd 70 0.37 51.18 0.00 0.00 0.20 0.00
SystemUIServer 245 0.32 49.30 0.00 0.00 0.40 0.20
cfprefsd 237 0.21 53.42 0.00 0.00 0.20 0.00
syslogd 39 0.27 50.78 0.00 0.00 0.80 0.00
powerd 49 0.18 87.67 0.00 0.00 0.00 0.00
ntpd 191 0.08 26.55 0.00 0.00 0.99 0.20
mds_stores 188 0.05 28.27 0.00 0.00 0.40 0.20
mds 58 0.03 27.77 0.00 0.00 0.20 0.20
CommCenter 239 0.06 30.47 0.00 0.00 0.60 0.00
locationd 79 0.02 29.37 0.00 0.00 0.40 0.20
netbiosd 1006 0.02 31.89 0.00 0.00 0.40 0.20
diskarbitrationd 65 0.01 23.78 0.00 0.00 0.20 0.20
airportd 55 0.07 34.68 0.00 0.00 1.19 0.00
UserEventAgent 40 0.05 21.09 0.00 0.00 0.00 0.00
apsd 74 0.04 40.07 0.00 0.00 0.20 0.00
fseventsd 43 0.02 35.36 0.00 0.00 0.20 0.00
configd 48 0.01 24.50 0.00 0.00 0.20 0.00
UserEventAgent 233 0.01 25.15 0.00 0.00 0.20 0.00
systemstatsd 492 0.01 22.25 0.00 0.00 0.20 0.00
ALL_TASKS -2 2597.72 4.81 1.19 1.99 261.37 81.29


**Interrupt distribution**


CPU 0:
Vector 0x46(SMC): 6.56 interrupts/sec
Vector 0x72(IGPU): 169.74 interrupts/sec
Vector 0x74(XHC1): 0.40 interrupts/sec
Vector 0x79(SSD0): 18.29 interrupts/sec
Vector 0x7a(GIGE): 2.78 interrupts/sec
Vector 0xdd(TMR): 221.62 interrupts/sec
Vector 0xde(IPI): 93.42 interrupts/sec

CPU 1:
Vector 0xdd(TMR): 163.58 interrupts/sec
Vector 0xde(IPI): 99.98 interrupts/sec

CPU 2:
Vector 0xdd(TMR): 166.76 interrupts/sec
Vector 0xde(IPI): 124.03 interrupts/sec

CPU 3:
Vector 0xdd(TMR): 167.95 interrupts/sec
Vector 0xde(IPI): 119.26 interrupts/sec


**Processor usage**


Intel energy model derived package power (CPUs+GT+SA): 3.24W

LLC flushed residency: 0%


System Average frequency as fraction of nominal: 29.56% (798.18 Mhz)
Package 0 C-state residency: 85.58% (C2: 83.85% C3: 0.33% C6: 1.40% C7: 0.00% )

Core 0 C-state residency: 90.40% (C3: 0.22% C6: 90.18% C7: 0.00% )
CPU 0 duty cycles/s: active/idle [< 16 us: 38.76/8.94] [< 32 us: 5.96/9.74] [< 64 us: 15.30/18.29] [< 128 us: 13.91/17.49] [< 256 us: 9.74/11.33] [< 512 us: 8.35/6.56] [< 1024 us: 2.98/6.96] [< 2048 us: 2.58/15.30] [< 4096 us: 0.40/17.69] [< 8192 us: 0.00/39.75] [< 16384 us: 50.88/0.00] [< 32768 us: 1.79/0.00]

CPU Average frequency as fraction of nominal: 29.56% (798.17 Mhz)

Core 1 C-state residency: 93.28% (C3: 0.07% C6: 93.21% C7: 0.00% )
CPU 1 duty cycles/s: active/idle [< 16 us: 35.38/17.29] [< 32 us: 8.55/2.58] [< 64 us: 9.34/16.70] [< 128 us: 7.35/13.32] [< 256 us: 10.34/14.11] [< 512 us: 9.54/6.56] [< 1024 us: 2.78/5.57] [< 2048 us: 2.58/8.35] [< 4096 us: 1.19/12.72] [< 8192 us: 0.99/46.71] [< 16384 us: 54.06/0.00] [< 32768 us: 0.80/0.00]

CPU Average frequency as fraction of nominal: 29.56% (798.19 Mhz)

Core 2 C-state residency: 93.68% (C3: 0.13% C6: 93.55% C7: 0.00% )
CPU 2 duty cycles/s: active/idle [< 16 us: 38.16/17.49] [< 32 us: 6.36/4.37] [< 64 us: 10.73/16.50] [< 128 us: 8.35/13.52] [< 256 us: 10.93/13.12] [< 512 us: 7.35/5.57] [< 1024 us: 2.78/4.97] [< 2048 us: 2.58/9.54] [< 4096 us: 1.59/13.71] [< 8192 us: 0.80/46.71] [< 16384 us: 54.06/0.00] [< 32768 us: 1.19/0.00]

CPU Average frequency as fraction of nominal: 29.56% (798.18 Mhz)

Core 3 C-state residency: 92.33% (C3: 0.03% C6: 92.31% C7: 0.00% )
CPU 3 duty cycles/s: active/idle [< 16 us: 24.65/20.07] [< 32 us: 3.98/0.00] [< 64 us: 10.14/13.12] [< 128 us: 9.94/9.54] [< 256 us: 9.74/7.55] [< 512 us: 3.98/4.97] [< 1024 us: 3.58/5.17] [< 2048 us: 1.19/8.55] [< 4096 us: 0.80/6.76] [< 8192 us: 1.39/48.10] [< 16384 us: 51.88/0.00] [< 32768 us: 1.59/0.00]

CPU Average frequency as fraction of nominal: 29.56% (798.17 Mhz)

**GPU usage**

GPU 0 name IntelIG
GPU 0 C-state residency: 98.76% (0.00%, 98.76%)
GPU 0 P-state residency: 1150MHz: 0.00%, 1100MHz: 0.00%, 1050MHz: 0.00%, 1000MHz: 0.00%, 950MHz: 0.00%, 900MHz: 0.00%, 850MHz: 0.00%, 800MHz: 0.00%, 750MHz: 0.00%, 700MHz: 0.00%, 650MHz: 0.00%, 600MHz: 0.00%, 550MHz: 0.00%, 500MHz: 0.00%, 450MHz: 0.00%, 400MHz: 0.00%, 350MHz: 0.00%, 300MHz: 0.00%, 250MHz: 0.00%, 200MHz: 1.37%

GPU 0 average active frequency as fraction of nominal (200.00Mhz): 100.00% (200.00Mhz)
GPU 0 GPU Busy 1.37%
GPU 0 FB Test Case 0


**SMC sensors**
CPU Thermal level: 255
IO Thermal level: 13
Fan: 1750 rpm
CPU die temperature: 27.00 C

(sorry about the formatting, can't really go and indent each and every line by four spaces..)

I also ran the hotkernel script, got the console log, the log of the verbose boot… But all this might be too much information already? I don't know, I wanted to be thorough. I have them uploaded and ready if needed.

What I'd like to know: Is there anything I can do about the PFM006 error (by this, I mean the kernel_task eating up all my CPU) or is this hardware issue something that can't be fixed? I don't really wish to spend anymore time on this computer if the answer ends up being "you need to change the motherboard". The Apple Support (level 2) wouln't give me any information on the PFM006 error, because I don't have a proper diagnostic done by an Apple Store (they tried calling the apple store, but the guy over there said I should go and maybe they could see if they still have it and email it to apple. WTF? Anyway… We're waiting on that, a friend is going to the shop today). The very nice lady at the level 2 support told me she was not authorized to tell me what the PFM006 error was without the proper diagnostic. So yeah. Kinda stuck here. But both the guy from support level 1 and the lady from support level 2 implied it didn't look good.

Is there anything else I can do? From what I could see on the geekbench website, I'm not the only one with these crazy results, and it seems when there's some CPU throttling on this computer, CPU automatically falls down to 0.8Ghz.

And yes, the computer has been cleaned, no dust inside, I checked it. I haven't tried changing the thermal paste because from what I could see, one guy with the same problem did that and it didn't fix the problem, so it seems like a waste of thermal paste and moreover I'd need to buy some. Also, the CPU is at 90°F, which means it's not hot at all, so the thermal paste wouldn't really change that. If the SMC is busted and reporting the highest possible temperature as a matter of security, all the thermal paste in the world wouldn't change it.

Any clues or advice on the next step(s)? Disassembling the computer and taking back both my SSDs, the perfectly fine RAM, both speakers, my new powerboard and the fine working fan seems like the way to go right now, but maybe some of you have other suggestions I haven't tried yet.
A friend suggested installing it as a hackintosh, that's an option I might try as a last resort, as I'm not sure it would change anything, but why not.

Thanks! And sorry for the very long post, I really wanted to be thorough, that way you wouldn't have to ask "did you do that, and that and that" and lose your time.

EDIT (1st March 17) : I have more or less left the computer on its own for the last couple of months since I had lots of other stuff to do, but one more thing I tried recently was to start it with a SMC bypass. Of course, I got the fan working like a helicopter, BUT the CPU was at its best, and the computer was crazy fast. No more CPU overload by the system. But of course I didn't leave it like that, I just ran some tests and shut it down, since it would have been damaged from the fan working full power for too long. Too bad I couldn't control the fan from a third party app (I stupidly tried "SMC fan control" before realizing why it couldn't work, aahaha, as well as a bunch of others, but they all rely on the SMC for information).
What about my friend's suggestion: installing the computer as a hackintosh with a fake SMC? Does anybody think that could be a solution? I have no idea what I would be getting myself into, I'm in total "ennemy territory" here, so I'd rather spend the time disassembling it and selling it for parts than learning how to do that if somebody tells me it's bound to fail.
Thanks!

Best Answer

I know this thread is pretty old but firstly I would like to say what an impressive informative post, I am trying not to be too hard on Apple but you are probably far more skilled at fixing iMacs than most apple techs, they are trained to replace parts rather than pin down a fault hence the 'replace the motherboard solution' Apple would come up.

I run a PC Laptop repair shop and fix many Apple products. I too have an A1418 with exactly the same issue works fine but CPU is maxed out with kernel task. I also have tried everything you mentioned, I could of written this post myself.

After much trouble shooting from what I can figure the problem relates to a fan/hd sensor but I cannot seem to locate where this sensor is. I will keep looking and keep you posted if I find any solution.