SOLVED: Macbook Air kernel_task slowness

I love my Macbook Air more than I've loved any laptop before (my first experience with a 12″ iBook in 2005 was a thing of beauty, but pales in comparison to my relationship with my Air). However, its CPU throttling to prevent heat drives me batty due to its aggressiveness — play a Flash video, for example, for a few minutes and it will start stuttering as the CPU temperature rises. Let it continue and the entire computer will slow to a crawl. If you open Activity Monitor or look at top, you'll see a process owned by root called 'kernel_task' using 150% CPU usage or so. Kill the Flash video and the kernel_task will slowly scale back and things will return to normal.

What's going on here is an interesting approach to temperature management. As temperature rises due to load on the CPU, the kernel runs some low-cost operations over and over — think 'gettimeofday()'-style functions. Since the kernel has top priority, system CPU usage spikes while userland CPU usage is forced down, lowering the actual activity that the CPU is doing and thus lowering the temperature. A decent idea, I guess, but in practice it's way too aggressive.

Luckily, doing a bit of digging in /System/Library/Extensions, I came across an extension called 'AppleIntelPenrynProfile.kext' that, looking at the Info.plist, ties into power management and performance monitoring — the IOClass is 'AppleIntelPenrynPerformanceMonitor' and the IOProviderClass 'AppleACPICPU'.

This kernel extension is loaded on boot into userland, but interestingly, if you boot into safe mode (hold shift during boot), it is not loaded — and the kernel_task CPU spikes don't occur, even under heat-generating load. You can verify this by running `kextstat', which lists all loaded kernel extensions — run it in Terminal while booted normally and you should see an extension called 'com.apple.driver.AppleIntelPenrynProfile' loaded. Boot into safe mode by holding down shift before the chime and run `kextstat' again — no com.apple.driver.AppleIntelPenrynProfile, and no kernel_task CPU spike when generating heat (play a Flash video).

So… why load that module at all?

Back in normal OSX, launch Terminal and run the following:

cd /System/Library/Extensions/AppleProfileFamily.kext/Contents/PlugIns
sudo kextunload AppleIntelPenrynProfile.kext

Verify it's unloaded:

kextstat | grep Penryn

This should return no output if the module was successfully unloaded. Now, go play a Flash video and enjoy a less-crippled Air!

* Disclaimer: I take NO responsibility if you brick your Mac, it catches on fire, never boots again, or otherwise break. I've had no problems and it's been working quite well, but your experience/hardware/whatever may be different.

** Disclaimer 2: I highly recommend running SMCFanControl and pushing your fans to max when running heat-intensive operations. I do not recommend running your Air at 80ºC or hotter for extended periods — the kernel will no longer discourage this activity by slowing things down. It's unlikely that you will fry your CPU due to extensive hot use, as the CPU's thermal shutdown is lower than its point of combustion, but this doesn't mean you should push that threshold.

*** Disclaimer 3: The Penryn profile is for the Rev 2 Macbook Airs. Rev 1 is Merom, with the extension called AppleIntelMeromProfile.kext.

17. July 2010 by kale
Categories: howto | Tags: , , | 45 comments

Comments (45)

  1. Hi -
    Thanks for this post that gave me hope to solve this issue. I just got a new MBA (the old one broke and Applecare replace it) only to get again the kernel task problem. Not so bad, only when relatively hot (at 65 C already does it) but very annoying (constantly runnin 64 tasks and sucking at least 150Mega or RAM.

    So, unfortunately your method didin't work with me, here what the terminal said:

    MacBook-Air-di-Marco-Simoni:PlugIns Marco$ sudo kextunload AppleIntelPenrynProfile.kext
    (kernel) Kext com.apple.driver.AppleIntelPenrynProfile not found for unload request.
    Failed to unload com.apple.driver.AppleIntelPenrynProfile -- (libkern/kext) not found.
    MacBook-Air-di-Marco-Simoni:PlugIns Marco$ sudo kextunload AppleIntelMeromProfile.kext
    (kernel) Kext com.apple.driver.AppleIntelMeromProfile not found for unload request.
    Failed to unload com.apple.driver.AppleIntelMeromProfile -- (libkern/kext) not found.

    I then looked into system/library/extensions but didn't find the file you mentioned.

    Any other suggestions???

    Thanks a lot.

    Marco

  2. Hi Kale,

    Thanks for running this down. It's a pain in the keister with an otherwise enjoyable machine.

    I have two questions. Do you have to re-enter this command each time you boot? If not, can you grace us with the command to turn the module bank on?

    Cheers

  3. THANK YOU!!!!

    This fix worked perfectly for my first gen macbook air. I've tried all sorts of things, and have even paid $10 for the coolbook application, but nothing worked.

    I don't care if this makes my laptop explode as it was unusable before this fix. At least now I can enjoy it for a little while longer without paying apple to fix it!

  4. I just applied the changes recommended here and initially it seemed to work, but unfortunately it didn't.
    I installed SMCFanControl and configured it to run at top speed always. I've unloaded the AppleIntelMeromProfile.kext as the Penryn one wasn't there.
    So right now I have fans at full speed, temp is 59º, the AppleIntelMeromProfile.kext is unloaded and kernel_task is eating 140% of CPU.

    Thanks anyway for the tip though.

  5. Hi, how are you? Would you happen to know what the Penryn Profile is for the Rev 3 Air? I don't seen anything the equivalent in System/Library/Extension. Thanks!

    (Kernal running at 150% right now, took a while to type this)

  6. I experienced this issue and my experience with apple-care was strange.

    First I was asked to mail my laptop in with geek squad being told their techs were apple trained.
    My laptop was returned in worse shape then sent with the kernel task still an issue (of coarse)

    It took me days to reach apple again, no e-mail was responded to and the extensions I had were all dead. Geek Squad got back to me quicker. When apple finally replied they asked me to mail it in again. I insisted on a store visit (closest store is 2 hours away)

    When I arrived the store did not have my reservation. They then insisted that sending my laptop into geek squad meant nothing and I would have to send it in again and this time it received level 4 tech support (they replaced nearly everything except the keyboard and hard drive)

    Within 30min I was able to replicate the kernel task issue.
    After a little phone tag with the very helpful genius who was assisting me in the store (I gave up on the extensions) Informed me that after talking to an engineer internally that it is indeed a design into the laptop and was a 'safety feature'

    My response was if a new car lost 75% of its power to preserve cooling it needs a bigger radiator.

    In short they replaced my 2nd gen macbook air with a new 2010 13″ Macbook pro. Apple took care of me so I'm happy but if they hadn't I couldn't see myself buying another apple.

  7. Thanks for the post. Mac newbie with the same problem. I have the MBA RevA, and I did it with Merom. Even after the kextstat | grep showed the command had succeeded, I went back to CPUTest and kernel_task was still present and gobbling 30% CPU, though it didn't appear to be going as high (into the 150% range).

    After a reboot, the Merom profile was loaded again a startup script is needed. However, in the meantime, I used CoolBookController, and this seemed to do a better job of preventing kernel_task from taking over.

  8. Oh. My. Fucking. God.

    How I wish I had seen your post say… two years ago now? Well, okay, let's make it one year, since you only posted it that long ago. I'll say this however: not having seen your post has led me through journeys indescribable, with my present position being oh, COMPILING MY OWN FUCKING KERNEL TO STOP THE SHIT.

    So, if I survive the sawn-off shotgun blast to the t'roat that I'm about to do to relieve this sudden headache I got out of fuckin' nowhere now (… weird, no? I mean I sometimes get a pain when I do something or feel really dumb, but this is waaay worse…), i will post back and let you know how it went on my Rev A.

    If it works, I will hump your leg forever while licking my face.

    Or, you know, just say "Thanks".

    It's one of those, but for the fuck of me, I can't think straight … just……… now…………….

  9. Hi,

    I was so hopeful finding your article here, but upon looking for AppleProfileFamily.kext, it wasn't in extensions at all. Nothing by that name was.

  10. The original article was posted over a year ago; updates to Snow Leopard and Lion, as well as new Macbook Air hardware, have sort of rendered it obsolete. Sorry :( Honestly, I gave up on my old air and gave it to my mother-in-law, moving on to a new 11″ Air myself. It doesn't have the same problems as the old ones in terms of heat. Alternatively, and this may sound silly, but try upgrading your Flash to the latest, Flash Player 11. It has much, much better hardware support and makes an astounding difference in performance.

  11. Fix MacBook Air kernel_task fix on Lion 10.7.3 (use these instructions as your own risk).

    Before you do this, note that I recommend you max your fax using smcFanControl and if you've got an old system and if you are capable, open the bottom cover and clean the fan super-well using compressed air. I also run my MacBook Air on a Belkin USB-powered laptop lap desk with a built-in fan. You are about to unleash this CPU to its maximum, so keep everything as cool as you can or else you might burn up the CPU and/or mainboard.

    I spent over 80 hours of my personal time figuring this out, so if my fix works for you, and if you feel like blessing me, send me a PayPal at chuck straughn at me dot com. No obligation, but anything you do helps me and my family. If these instructions are too technical for you, contact me and I'll do it for you for a small fee if you can afford that, otherwise I'm happy to help you for free and share the love.

    1) Open System Information (under Apple icon in upper-left, click About This Mac, click More Info)

    2) Click System Report button, under Hardware, find your "Model Identifier" -remember this for later use

    3) Navigate to /System/Library/Extensions an right-click, Show Package Contents of IOPlatformPluginFamily.kext

    4) Open Contents/PlugIns and Show Package Contents of ACPI_SMC_PlatformPlugin.kext

    5) Open Contents/Resources

    6) Find your MacBookAir?_?.plist (? = your model identifier from step 2) and delete the file

    7) Reboot! Remember, anytime you do a System Update, you may need to repeat this process

  12. I had a similar problem on an 2011 13″ MBA 4,2 & 10.7.3 Lion

    Removing IOPlatformPluginFamily.kext and rebooting solved this issue for me…

  13. Deleting this plist file solved the issue for me. Many thanks!

  14. Thanks for the post, I had this problem for ages and none of the posts I've seen linked the activity of kernel_task to the temperature. It makes more sense now, so just have to have fewer apps open. Thanks again

  15. Thank you so much Chuck! That worked perfectly for me. I have a 8.2 (2011) macbook pro 15 in which kernel task takes up 280% of the processing power when for example it's charging, many tabs open, connected to an external display, or in Aperture. Your fix has worked so far for the last 8 hours, i even tried to stress the computer by connecting an external display, playing several hd flash files, an mkv file, opening aperture etc. and the kernel task never spiked.
    I don't quite understand why this .kext was related to it, but deleting it worked, and for the record, this isn't only for macbook airs!

  16. I had the same problem, with sloooooooooooooooooooow boot and kernel_task using 120% cpu time.
    I solved simply clearing the PRAM at boot (option-cmd-P-R).
    After doing so the problem disappeared and didn't returned till now (2 months).

  17. Finally a usable Macbook Air. Thank you so much! My book never climbs past 71 C with this fix and I have put it through the numerous tests. I did so much searching until I finally found this fix, what a relief. Thanks Again.

  18. Glad the fix keeps working. Mads asked how the .kext was related so I'll explain. Basically the OS has a profile for every CPU type. That profile tells the OS when the CPU is being over-used and needs to be throttled back for CPU-life sake. The IOPlatformPluginFamily.kext for the CPU defines, based on the CPU model, at what usage thresholds the CPU should be throttled back. The mechanism Apple uses to throttle the CPU back is the kernel_task process increasing (which is basically an idle task that eats up the CPUs ability to do real tasks and thus throttles back the CPU). So when you remove the appropriate IOPlatformPluginFamily.kext file, the OS no longer understands when it should throttle back the CPU and thus it leaves the CPU running all the time. This can be a bad thing in the sense that opening up your CPU to hot and heavy usage can burn it up (in theory) and that's why Apple throttles it back. But my perspective is that I'd rather have a fried computer that worked for some time than a cool laptop that doesn't work at all because it's always having to be idled back. Amen?!?! Anyhow, thanks for the feedback.

  19. I cannot erase the file.. i dont get the option. help pls! im desperate!

  20. I bought a Mid 2010 13″ MBP from a guy on Craigslist (I know , don't say a word) He must have had it booted into he "Safe Mode" because when I checked it out it was working When I got home and turned it on it was a mess and the CPU was running at 189%

    I took it to the Genius bar in Chandler AZ and they looked at the history on it and it had water damage. They ran their diagnostics it was always the same response. Due to the water damage you have hardware issues. You can leave it and we will do a recondition for 750.00 ( more than I paid) I tried 3 different gust over 48 hrs and each had their own version of that story (They tried though) After doing a little investigating and realizing that in the safe mode it ran quite well I figured it might me a software issue and thus I ended up here. The unit is running well by following the instructions above and its not an expensive paperweight anymore.

    The one issue I am still having is it wont install Mnt Lion OSX 10.8 now and gets hung up where it says "Now Installing….. 34 minutes to go" and never leaves that screen….any ideas as to why

    I would like to thank Chuck for his work. The issue described was exactly what I was experiencing his fix worked great

  21. Thank you so much Chuck Straughb . I got rid of this annoyance.

  22. You are a genius. Thank you! I'll be making a donation via Paypal shortly.

  23. Thanks a lot mate.. worked like a charm.. u have done a remarkable job.. however my issue is that the fan is running at 6200 rpm continuously. Is it a problem if my fan keeps working continuously?

  24. I have a MBP (15″ late 2011 i7, 8Mb RAM running OS X Lion) that has been slow since i got it. Slower than my 3 yr old samsung laptop with mere dual core and 4G RAM. I found this website after looking into the activity monitor and seeing that with no programs open, this kernel_task thingy is using between 600-800Mb real memory. Here is my question: The CPU usage was not high. Does the CPU usage need to be high for this kernel_task to be causing a problem? I don't want to jeopardize the CPU by performing the fix, if it isn't the problem. Also, has anyone upgraded to Mountain Lion to see ifthis is still going on with the upgrade? I have been regretting switching to Mac like you would not believe. If I could fix this, I would be so much less miserable!! Thanks!

  25. Spilled liquid on my macbook air and cleaned it really well. Basically works on AC power but nothing on the battery. When on AC power the kernel was hitting up to 300+% usage. Basically thought my computer was shot.

    This method worked and now I can use my computer completeley normal when on AC power.

  26. My 2011 MBP15 4x-i7-2.3 -- MacBookPro8,2 just went nuts last night and the kernel_task started eating up 650% CPU. The temperature didn't go up at all. Nothing went over 122ºF. I thought I would end up using this detailed tutorial.

    One of the commenters, w4lly, said they fixed their problem by zapping the PRAM. I held those famous keys down five times, then let it boot completely. The kernal_task was gobbling up 689% now. I pulled the plug in frustration (the battery is currently showing an "X" in the menu status because it's totally dead so the machine turns off completely) and shut the lid. I just booted up this morning to test it some more and the problem is now solved. Kernel_task is running at a kin 13-19%.

    I'm glad I found this post and I'm glad that I read the comments. I'm also happy to hear, the more complicated fix is working for other people. Thanks to everyone for offering to share your experience.

  27. Thank you so much, you are the man! Worked for 2011 MBP OSX 10.7.5

  28. Chuck, you are the man…

    Have a Macbook Air 1.86 GHz Intel Core 2 Duo and attributed the extreme slowness when running on AC power (worked fine on battery) to the numerous times my son had thrown the airbook off the couch.

    Deleted the .plist file and rebooted and now its working like new. So happy that I can use it again while charging (what a pain that was for the past year!) Wish I had come across this article a long time ago. Thanks again (I can only imagine how many other mac users are just living with this…)

  29. You're amazing. This article and its comments helped me make my water damaged Macbook Air usable again. Apparently some temp sensor is not working correctly so that's causing the kernel_task spike, following Chuck Straughn's comment made it work for me in OS X 10.8

    Thanks!!!

  30. SO happy I came across this site, I've been having the same problem for months… Having a small problem with the fix though: my model identifier says MacBookPro9,2 but the list of .plist files stop at MacBookPro8_3.. Any suggestions?

  31. This seems to have worked for my MacBookPro8,2.

    Thank you!!!

  32. Chuck Straughn Thank you!

  33. Awsome , still slow boot but fixed the kenral issue MacBook Air 2009 mid core 2 duo 2gb ram…… :) thankssssss man!!!!!

  34. Chuck!! You rock dude. I've spent countless hours trying to figure this out on my MackBookPro8,2, both on my own and with Apple Care (who have no clue). I narrowed it down to heat in my case. Every time I'd use my machine in a warm room, especially with an external monitor hooked up (using the bigger graphics card), the dreaded kernel_task would almost inevitably kick in, rendering my computer partially brain-dead.

    I applied your fix (after backing up the deleted file) and I'm an hour into testing in my non-air conditioned room using an external monitor. So far so good. I think (I hope) that it's fixed at this point. Thanks so much for posting your fix, you're a life saver.

    Will report back if my results change.

  35. Yep! This worked. Thanks a bundle.

  36. My MacBook Air mid-2011 needed a new keyboard. After the repair it was extremely slow. In the Activity Monitor is was obvious that the kernel_task takes more than 100% CPU. Then I found this website with the page "SOLVED: Macbook Air kernel_task slowness". I followed the instructions from Chuck Straughn dated March 11, 2012 exactly and the results are fabulous. The speed is back. Thanks Chuck !! Even in the Netherlands your advise had a wonderful effect. Thank You.

  37. to Chuck: Wow, you saved my Mac! After deleting MacBookAir?_?.plist (8.2 in my case) the problem was solved! CPU back to normal low %. I can process my photos again! I was looking for a solution for days, thanks a lot!

  38. Wow CHUCK. I must admit that you have helped many people including myself for fixing this problem. I have been looking around for this solution for days trying to get my macbook pro back to its capable condition where I can work with. Your solution was almost magical in the sense that one touch of deletion was all it took for the CPU to run to its maximum capacity. One thing in my mind though that leaves me questioned is that my laptop had been working perfectly fine just up until one starry night where everything had changed to drag and slow every processes and tasks down such as browsing internet to even simple task of moving files to another. Now I m wondering still, what would have caused this problem. If I can remember it correctly, on the night I believe I had turned on the bluetooth device to move a file to a different mac and transferred couple of files that were large. I did not perform any heavy processing apps and it turns out that the next morning the computer was running kernel_task of more than 350% using up the CPU to red bars all over in activity monitoring screen. I doubt that my file transfer of bluetooth was the problem since I have transferred couple of photos in past using this method. What do you think would have been the problem that caused the CPU to suddenly change its performance? Could it have been the humidity in air that could have got into my Macbook pro which caused it to slow its performance as if it was been water damaged? This was happened when I was in Mexico Cozumel where the room was very humid during the night time but not to the point that you could feel the water on the surface or anything. My Macbook has never stopped working nor had any problems on rebooting itself. Its just that I m wondering why it would have caused the problem if not these reasons. I have fixed the problem thanks to your valuable post and your time and I fully understand that my laptop is now in its maximum capacity and this is exactly what I was looking for. Once again I thank you for your post and thank you again.

  39. Yea I had a similar problem after spilling water on my Macbook Pro and taking it to the Apple Store to get it looked at. It worked fine at first, but started running super hot and kernel_task was taking up A LOT of CPU space. However, I ended up fixing the problem just now because it turns out the "Mac Genius" that helped me, unplugged my fan so my computer was running extremely hot! It's very frustrating that he could have made my computer worse and that someone who's supposed to be trained in fixing electronics doesn't know how to plug something in.

  40. model name: MacBook Pro
    model dentifier: MacBookPro9,1

    it is in information
    and the folder is just 8,3 max

    what file should be deleted?

  41. Pingback: CPU is overloaded - Page 2 - Mac-Forums Discussions for Apple Products & Services

  42. Chuck: I have tried your fix but in the folder I dont have the corresponding file (Macbook Air 6.2). Is there any alternative solution or how come I dont have the file?
    Thanks in advance!

  43. Worked like a charm on my Mid 2013 MacAir 11″ 6_1 10.9.2, still under warranty till July 2016 but Apple dont cover accidental damage, and quoted me AUS $ 1800 for a repair, whereas i paid $1500 for the brand new with 3 years warranty

    It started with a coffee spill. laptop stopped working altogether,

    cleaned it up thoroughly and it booted but the Kernel task was taking about 300% of the CPU, so the processor was struggling to run applications plus the noisy fan.
    followed the steps as mentioned above and it fixed the Kernel issue, but the fan was working at full RPM 6450, installed a fan control app and it now run silently on 2100-3200 rpm at 37C-44C.
    i got certified Mac repair to look at it and he said it that most likely the thermal sensors have damaged.
    i work mostly in my air conditioned office so i am not worried about it heating up, considering it was left for dead and now its working again , i am very happy with this fix, many thanks Kale

  44. and many many thanks Chuck Straughn,

  45. Chuck, thank you! My girlfriend has a 2010 MacBook Air that 2x Apple stores and one independent shop have said required a new logic board at a cost of between £400-500. I decided to buy a used logic board from eBay (£175) and do it myself, but thought it was worth investigating the problem first. A clean install of OS X 10.9 didn't help, but then I happened upon this thread, deleted the plist file and bang, the machine works perfectly, Awesome!

Leave a Reply

Required fields are marked *