Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.


macrumors regular
Original poster
Jul 19, 2015
Between France and Switzerland
Hi guys,
Opening a new thread, since this is not a sata question anymore. This is still about the iMac I found in the trash. Now it's up and running, with a PCIe SSD 128Gb and a SSD 256 Gb on the sata port (long story). For the moment, I only have the system (el capitan) installed on the PCIe, and nothing on the sata SSD. No applications yet, no data, no nothing.
I thought the computer was really slow, so I did a few tests. First, both SSD had unusually slow write and read speeds (around 200MB/s write and 320MB/s read), which was odd. But ok, why not. But still, the computer was slower than my old PC, which is something like 10 years old.

I ran geekbench 4. And got some really strange results:
and GPU here :

I'm running a test on my ram right now with Rember. It's taking forever so I'll come back later with the results (I'm on another machine right now). I tested both SSD already, they are in perfect condition (both are almost brand new).
I don't understand what could have happened. My CPU is a single core, with no hyperthreading. So there's no way only one core is working and the three others are down.
I saw some other people with exactly the same results when I searched through the geekbench results. I couldn't however find anybody with the same question or getting an answer about a similar problem.
I did find some people with low benchmarks on laptops, after the battery had died. So nothing to do with the present problem.

What's going on? Is all hope lost? Should I disassemble it and sell it for parts?

Reset SMC seems ridiculous, since I unplugged it numerous times already (and no later than yesterday, when I actually changed the powercord because I had to move the computer around and had a free power cord ready somewhere else).

Apple diagnostic did tell me there was something wrong with the smc controller, and my fan is indeed going crazy without the macs fan control (everybody was telling me it was a firmware issue, which was odd because the SSD came out of a macbook air).
I didn't notice anything weird with the Activity monitor: no kernel activity taking up all the processor.

Edit : after 3 hours, Rember gave me the results: ram is perfectly fine. I'm doing CPUTest right now, test type "all", almost done, everything until now was successful. A friend suggested maybe the processor was protecting itself because it was overheating, so I checked the temperature, it's rather cool, so not overheating at all (about 90°, which for me is really not very hot (I'm used to the crazy hot temperatures of my macbook pro late 2011 that would burn my palms)).

Somebody else suggested something might be wrong with the ram, but I mean, it's detected, it didn't appear as faulty in apple diagnostic, it passed the rember test even though it took forever (I tried it on my macbook pro at the same time, it took a lot of time too, and I don't have any problem on that computer). Anyway, I'm NOT changing the ram. I already disassembled the motherboard once, I'm not doing it a second time.

And before you ask, I didn't damage the processor during the disassembly, I already noticed the computer was really slow before I opened it to put the PCIe SSD inside, but, my fault, I didn't take the time to do the necessary tests, mostly because at that time I was running on an external drive connected via usb 3 and I thought that was the reason the computer was so slow.
Last edited:


macrumors regular
Original poster
Jul 19, 2015
Between France and Switzerland
Ok, some news about the computer.
Turns out, the processor's frequency is going no higher than 0.8Ghz. Which is bad. Very bad. BUT. Kernel_task is taking 260%-600% of the processor at all time. When the computer is going in sleep mode, and I wake it up, for a few seconds, kernel_task is idle, and yeah, processor frequency is peaking to 1.8Ghz (it could probably go higher but it's not necessary since nothing it really running on it).

SMC controller is out. Which means kernel_task is probabyly thinking my CPU is burning out. I'm thinking about changing the thermal paste, but I'm not sure it will make a difference.

A common hack for the dreaded kernel_task CPU eating was getting rid of some plist file in the extenion file, but I checked, and my iMac isn't listed, so here goes my solution.

What can I do? Clearly, it's a throttling problem. All my CPU sensors are reporting values that are around 90°F, so we are way under overheating.

Another CPU testing program did tell me CPU was indeed going up to 2.7Ghz, so it isn't damaged. It's just not being able to go up to full potential.

There's a guy here with a similar problem: but so far he hasn't got any luck with an answer.


macrumors regular
Original poster
Jul 19, 2015
Between France and Switzerland
I did, and it stayed steadily at 0.8ghz (sorry, can't redo it right now, I'm installing Mavericks on one of the SSDs to try to solve the issue with the OS that came with the computer, in case it changes something. My guess is it won't, but that's something I hadn't really tried, apart from a quick install (that took 6 hours) on the SSD inside a usb 3 enclosure. I was actually already using Intel power gadget, that's how I noticed the frequency changes.
The only time the frequency bumps is when the kernel task gives it some space. There's a brief moment when the computer wakes up from sleep where the kernel task isn't hogging the cpu yet, and the frequency goes up, because flatlining to 0.8 after a few seconds.

Sadly, I can't do the common "let's get rid of the kernel task hogging the cpu" method (which consist in deleting a file in the extension folder) because my computer, 14,1 isn't listed. List stops at iMac12,2. So I'm stuck with my kernel task, and SMC comtroller which thinks my CPU is on fire.


macrumors regular
Original poster
Jul 19, 2015
Between France and Switzerland
Tried installing Mavericks as it would change something. It didn't. But I had to try. Somebody suggested installing a hackintosh version of the OS. I might try that although I have no idea what that is.

I'm not sure it's worth spending so much time on that anymore. Apple hardware diagnostic gave me back errors PFM006 (SMC controller error) and VFD001 (screen). My screen is busted, it's actually not the panel, as it's been replaced already and it didn't change anything.

So my guess is that the SMC is out (a sensor is damaged or something), the computer thinks it's permanently overheating and kernel task is overloading the cores with nonsense operations so that the computer will cool down and the cores will not overheat.

Since the SMC is hardware, there isn't much I can do about that. The only thing would be to bypass the information and tricks it into thinking the CPUs temperature is at 90°. No idea if that's even possible.

I might try the hackintosh thing. The most annoying thing is that some other people had the same problem with that computer and not one was able to fix it (or came back to say they fixed it). It's like once you have PFM006 error, your computer is as good as dead and you can throw it in the trash (which is actually where I found it, but hey, I had to try to revive it). I'll probably end up disassembling it again to get the pcie SSD back, check the motherboard in case I find something obvious, run one last check, and then sell the rest for parts (the fan, the speakers and the power board are in excellent condition. The ram was tested and is working 100%).


macrumors regular
Original poster
Jul 19, 2015
Between France and Switzerland
Ok, here I did a screenshot white I was doing the geekbench (same results), I had the activity monitor on the side so you can see the kernel task is taking up a lost of CPU. Intel power gadget is showing the frequency remaining steadily at 0.8Ghz no matter what.
At what point I had to go away from the computer, when I came back, kernel task had gone up to an insane 5000% (yes, 5 thousand). I rushed back to do a screenshot, it came up with an empty white page, and of course, by the time I finally thought about looking what geekbenck was doing at that point, I had to get rid of the white page, which took forever, and things had gone back to normal.

Any thoughts or suggestions on the next step? I have console logs and also verbose startup log, in case it helps.

The detail of WHAT exactly is kernel task doing (courtesy of a half working hotkernel script). Interesting bit at the very end :

FUNCTION                                                COUNT   PCNT
AppleIntelHD5000Graphics`IntelAccelerator::commitGARTMemory(IOMemoryDescriptor        0   0.0%
AppleIntelHD5000Graphics`IntelAccelerator::submitBlit(blit3d_params_t*,        0   0.0%
IOAcceleratorFamily2`IOAccelShared2::memory_with_client_buffer(unsigned        0   0.0%
AppleUSBXHCI`AppleUSBXHCIEndpoint::transferEvent(StandardUSBXHCI::StandardUSBXHCITRB*,        0   0.0%
IOAcceleratorFamily2`IOAccelResource2::dirtyLevel(unsigned        0   0.0%
kernel`OSSet::initIterator(void*)                           0   0.0%
IOAcceleratorFamily2`IOAccelDisplayPipeTransaction2::getTransactionDirtyBits()        0   0.0%
AppleIntelHD5000Graphics`IGAccelSurface::getMetaClass()        0   0.0%
IOAcceleratorFamily2`IOAccelSurface2::externalMethod(unsigned        0   0.0%
IOAcceleratorFamily2`IOAccelMemoryMap::getLRUSeed()         0   0.0%
IOAcceleratorFamily2`IOAccelEventMachineFast2::mergeEvent(IOAccelEvent*,        0   0.0%
AppleIntelHD5000Graphics`blit3d_prepare_commands(blit_device_context*,        0   0.0%
kernel`OSObject::taggedRelease(void                         0   0.0%
AppleIntelFramebufferAzul`AppleIntelAzulController::hwDoI2CRequestAction(unsigned        0   0.0%
AppleIntelHD5000Graphics`IGHardwareRingBuffer::writeBuffer(unsigned        0   0.0%
IOAcceleratorFamily2`IOAccelSurface2::s_set_shape(IOAccelSurface2*,        0   0.0%
kernel`IOGeneralMemoryDescriptor::wireVirtual(unsigned        0   0.0%
kernel`IORangeAllocator::allocate(unsigned                  0   0.0%
IOGraphicsFamily`IOFramebuffer::updateVBL(OSObject*,        0   0.0%
kernel`IORegistryEntry::copyName(IORegistryPlane            0   0.0%
IOHIDFamily`IOHIDSystem::_setButtonState(int,               0   0.0%
kernel`OSObject::release()                                  0   0.0%
AppleIntelHD5000Graphics`get_surface_state(surface_params_t        0   0.0%
AppleIntelHD5000Graphics`IGVector<IOAccelEvent*>::add(IOAccelEvent*        0   0.0%
kernel`OSObject::taggedRetain(void                          0   0.0%
kernel`OSOrderedSet::getMetaClass()                         0   0.0%
IOAcceleratorFamily2`IOAccelMemory::getLRUSeed()            0   0.0%
IOAcceleratorFamily2`IOAccelContext2::processDataBuffers(unsigned        0   0.0%
AppleIntelHD5000Graphics`IGAccelFIFOChannel::submitRingCommands(unsigned        0   0.0%
kernel`IOMultiMemoryDescriptor::setPurgeable(unsigned        0   0.0%
kernel`IOGeneralMemoryDescriptor::dmaCommandOperation(unsigned        0   0.0%
AppleBCM5701Ethernet`BCM5701Enet::read570XRegister(unsigned        0   0.0%
kernel`IOMultiMemoryDescriptor::getPhysicalSegment(unsigned        0   0.0%
kernel`IOMemoryDescriptor::getLength()                      0   0.0%
kernel`IOMemoryDescriptor::setPurgeable(unsigned            0   0.0%
IOAcceleratorFamily2`IOAccelMemory::createMappingInTask(IOAccelTask*,        0   0.0%
kernel`IOGeneralMemoryDescriptor::memoryReferenceCreate(unsigned        0   0.0%
kernel`0xffffff80086d37a0                                   1   0.0%
kernel`lck_mtx_lock_spinwait_x86                            1   0.0%
pthread`psynch_cvcontinue                                   1   0.0%
kernel`unix_syscall64                                       1   0.0%
kernel`0xffffff800850f020                                   1   0.0%
kernel`0xffffff80084c09c0                                   1   0.0%
kernel`ipc_mqueue_receive_on_thread                         1   0.0%
kernel`ipc_mqueue_send                                      1   0.0%
kernel`get_bsdthread_info                                   1   0.0%
kernel`bcopy                                                1   0.0%
kernel`fill_task_rusage                                     1   0.0%
kernel`0xffffff80086b6670                                   1   0.0%
kernel`hfs_file_is_compressed                               1   0.0%
kernel`ioctl                                                1   0.0%
kernel`namei                                                1   0.0%
IOAcceleratorFamily2`IOGraphicsAccelerator2::enable_gart_collector()        1   0.0%
kernel`ipc_kmsg_get                                         1   0.0%
kernel`kernel_trap                                          1   0.0%
kernel`pmap_enter_options                                   1   0.0%
kernel`lck_rw_lock_exclusive                                1   0.0%
kernel`assert_wait                                          1   0.0%
kernel`fp_getfkq                                            1   0.0%
kernel`microtime                                            1   0.0%
kernel`lck_mtx_lock_grab_mutex                              1   0.0%
AppleIntelHD5000Graphics`IGHardwareRingBuffer::waitForSpace(int)        1   0.0%
kernel`ipc_kmsg_send                                        1   0.0%
kernel`kevent_register                                      1   0.0%
kernel`hndl_mach_scall64                                    1   0.0%
kernel`hndl_mach_scall                                      1   0.0%
kernel`strcmp                                               1   0.0%
kernel`vm_page_lookup                                       1   0.0%
kernel`thread_set_wq_state64                                1   0.0%
AppleIntelHD5000Graphics`IGAccelPerContextStats::processSample(PCStatsRec*)        1   0.0%
kernel`0xffffff8008567a40                                   1   0.0%
IOAcceleratorFamily2`IOAccelChannel2::incrementStamp()        1   0.0%
kernel`0xffffff8008520240                                   1   0.0%
kernel`lck_rw_destroy                                       1   0.0%
kernel`i386_astintr                                         1   0.0%
IOHIDFamily`IOHIDSystem::doKickEventConsumer(IOHIDSystem*)        1   0.0%
IOUSBHostFamily`IOUSBHostIOSource::ioGated(IOUSBHostIOSource::tInternalDataTransferParameters&)        1   0.0%
kernel`OSArray::~OSArray()                                  1   0.0%
kernel`assert_wait_deadline_with_leeway                     1   0.0%
kernel`fpnoextflt                                           1   0.0%
kernel`IORegistryIterator::getNextObjectFlat()              1   0.0%
kernel`mach_call_munger                                     1   0.0%
kernel`0xffffff8008a980c0                                   1   0.0%
Sandbox`sb_evaluate                                         1   0.0%
IOAcceleratorFamily2`IOGraphicsAccelerator2::free_gart_wirings()        1   0.0%
kernel`0xffffff800897e650                                   1   0.0%
kernel`_kernelrpc_mach_port_deallocate_trap                 1   0.0%
kernel`proc_get_darwinbgstate                               1   0.0%
kernel`ipc_right_lookup_two_write                           1   0.0%
kernel`lck_rw_lock_shared                                   1   0.0%
kernel`lck_mtx_unlock_wakeup_x86                            1   0.0%
kernel`0xffffff80086d2590                                   1   0.0%
AppleIntelHD5000Graphics`IGHardwareRingBuffer::submitToRing()        1   0.0%
kernel`0xffffff800898ee30                                   1   0.0%
AppleIntelHD5000Graphics`IGAccelMemoryMap::commitIntoGPUPageTable()        1   0.0%
kernel`machine_timeout_suspended                            1   0.0%
kernel`_kernelrpc_mach_vm_deallocate_trap                   1   0.0%
kernel`ipc_kobject_server                                   1   0.0%
kernel`cache_lookup_path                                    1   0.0%
kernel`call_continuation                                    1   0.0%
kernel`lck_rw_done_gen                                      1   0.0%
kernel`mach_memory_entry_purgable_control                   1   0.0%
kernel`ipc_kmsg_put                                         1   0.0%
kernel`0xffffff8008519570                                   1   0.0%
kernel`__mac_syscall                                        1   0.0%
Sandbox`hook_proc_check_get_cs_info                         1   0.0%
IOAcceleratorFamily2`IOAccelContext2::requiresBackingStore()        1   0.0%
kernel`ipc_importance_receive                               1   0.0%
kernel`hw_lock_unlock                                       2   0.0%
kernel`vm_page_grab                                         2   0.0%
kernel`pmap_remove_range_options                            2   0.0%
kernel`memcpy                                               2   0.0%
kernel`0xffffff80085daaa0                                   2   0.0%
kernel`waitq_assert_wait64                                  2   0.0%
IOAcceleratorFamily2`IOAccelSysMemoryList::ReverseIterator::getPrevMemory()        2   0.0%
kernel`0xffffff800850e180                                   2   0.0%
kernel`lck_rw_done                                          2   0.0%
kernel`0xffffff80085c5780                                   2   0.0%
kernel`usimple_lock                                         2   0.0%
kernel`vm_map_store_lookup_entry_rb                         2   0.0%
kernel`IOWorkLoop::runEventSources()                        2   0.0%
kernel`waitq_prepost_release_reserve                        2   0.0%
kernel`IOWorkLoop::signalWorkAvailable()                    2   0.0%
kernel`hw_atomic_add                                        2   0.0%
kernel`0xffffff80086b6c50                                   2   0.0%
kernel`0xffffff800851fdc0                                   2   0.0%
kernel`lck_mtx_sleep                                        3   0.0%
kernel`processor_idle                                       3   0.0%
kernel`vm_page_queues_remove                                3   0.0%
kernel`ledger_check_new_balance                             3   0.0%
kernel`__bzero                                              3   0.0%
kernel`hw_lock_to                                           3   0.0%
AppleIntelFramebufferAzul`SafeForceWake(bool)               3   0.0%
kernel`ledger_credit                                        3   0.0%
kernel`0xffffff80084e6670                                   3   0.0%
kernel`zfree                                                3   0.0%
kernel`OSDecrementAtomic                                    3   0.0%
kernel`dcache_incoherent_io_store64                         3   0.0%
kernel`user_trap                                            4   0.0%
kernel`lck_mtx_lock_spin                                    4   0.0%
kernel`_rtc_nanotime_read                                   5   0.0%
kernel`vm_page_wire                                         5   0.0%
kernel`return_from_trap                                     5   0.0%
kernel`upl_commit_range                                     5   0.0%
kernel`waitq_wakeup64_all                                   5   0.0%
kernel`ast_taken                                            6   0.0%
kernel`_bcopy                                               6   0.0%
kernel`0xffffff800851f1a0                                   7   0.0%
kernel`lck_mtx_unlock                                      10   0.0%
kernel`lck_mtx_lock                                        12   0.0%
kernel`ipc_mqueue_post                                     16   0.1%
kernel`do_mfence                                           26   0.1%
kernel`0xffffff80084f3d70                                  40   0.1%
kernel`thread_continue                                     71   0.3%
kernel`thread_block_reason                                 93   0.3%
kernel`dtrace_unregister                                  155   0.6%
kernel`0xffffff80085ee9e0                                4294  15.6%
kernel`machine_idle                                      9894  36.1%
kernel`0xffffff80085ef350                               12637  46.0%
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.