Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I recently installed Ubuntu 12.04 on my Samsung laptop alongside Windows 7. Whenever I use Ubuntu (even when its idle) kworker uses almost 90% of one of 8-cores. Even though it doesn't really affect my usage, it bugs me and I am afraid of that it might harm my processor. I even tried installing another Linux distro (Linux Mint), and kworker caused the same problem. So I don't know what to do. I would really appreciate your help.

enter image description here

share|improve this question

4 Answers 4

Instead I think this CPU usage is not normal and is related to the well-known kworker bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/887793

The solution for me and for many others was, first of all, find out the "gpe" that is causing the bad stuff with something like:

grep . -r /sys/firmware/acpi/interrupts/

and check for an high value (mine was gpe13 - with a value like 200K - so, you have to change it accordingly, if differs). After that:

~ cp /sys/firmware/acpi/interrupts/gpe13 /pathtobackup
~ crontab -e

Add this line, so it will be executed every startup/reboot:

@reboot echo "disable" > /sys/firmware/acpi/interrupts/gpe13

Save/exit. Then, to make it work also after wakeup from suspend:

~ touch /etc/pm/sleep.d/30_disable_gpe13
~ chmod +x /etc/pm/sleep.d/30_disable_gpe13
~ vim /etc/pm/sleep.d/30_disable_gpe13

Add this stuff:

#!/bin/bash
case "$1" in
    thaw|resume)
        echo disable > /sys/firmware/acpi/interrupts/gpe13 2>/dev/null
        ;;
    *)
        ;;
esac
exit $?

Save/exit, done.

-- Ubuntu 12.10 on Samsung Chronos 7 series - Model no. NP700Z7C --

share|improve this answer
    
Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  hhlp Dec 29 '12 at 11:01
    
thank you!!! this is the most annoying bug I had preventing really enjoying ubuntu in my samsung. –  GClaramunt Mar 20 '13 at 14:09
    
For the benefit of future searchers, babixeddu's solution also fixed the problem on my Fedora box. My only non-zero interrupt file was grp10, and the values ranged from 7k to 15k. Although nowhere near babixeddu's 200k, the "echo disable" solution worked for my system. –  Tom Dec 13 '13 at 16:22
1  
Perfect! This really works on my laptop with Ubuntu 12.04 LTS! –  Kevin Dong Nai Jia Apr 13 at 5:41
    
instead of setting the file /etc/pm/sleep.d/30_disable_gpe13 i've edited the file /etc/rc.local and added "echo disable > /sys/firmware/acpi/interrupts/gpe13 2>/dev/null" (before the exit 0) and now it's working, thanks –  João Melo May 22 at 14:41

The CPU usage seems to be normal, there's only 1 CPU (CPU1) that has high usage. In all there are total 3 process that are in the running state two of them being kworker and gnome-system-mo (the first 2 processes in the top command screen short you added).

"kworker" is a placeholder process for kernel worker threads, which perform most of the actual processing for the kernel, especially in cases where there are interrupts, timers, I/O, etc. These typically correspond to the vast majority of any allocated "system" time to running processes. It is not something that can be safely removed from the system in any way, and is completely unrelated to nepomuk or KDE (except in that these programs may make system calls, which may require the kernel to do something)

For more information about kworker please have look at the following link:- What's KWorker and it's importance

share|improve this answer
    
Thank you for your quick answer! I have another question then. Is there way to make the processor use other CPUs instead of using only one core for its most of processes. –  Yusuf Aug 16 '12 at 13:32
    
I solved the problem by installing phc-intel packages from link. –  Yusuf Aug 16 '12 at 13:46

I installed Linux Mint 17 yesterday and noticed this evening that kworker was consuming 100% of one of 4 cpus. I ran the above check, but did not find anything other than 0 for the interrupts.

While examining the services that I normally have running, I noticed that shutting down the nfs server dropped the kworker thread back to zilch. A restart of the nfs server did not fix the issue.

I found this bug report (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1322407), which indicates that a similar nfs server problem was fixed in kernel 3.13.0-32.57. The latest update on Mint 17 appears to be running kernel 3.13.0-24-generic, so I don't have the fix in the kernel that I am running. I don't know if this will help anyone else but I systematically went to each nfs client machine and did a 'umount -a -t nfs' and waited to see if it had any effect. I found the client that seemed to have been causing the issue as the kworker dropped to nothing after I unmounted. I remounted the nfs shares on the client 'mount -a -t nfs' and the problem did not return.

share|improve this answer

Solution here: http://souriguha.wordpress.com/2011/03/08/how-to-solve-problem-with-thinkpadkslowd-kworker-on-linux-kernel-2-35-2-36/

Problem caused by DRM_KMS_HELPER

share|improve this answer
2  
While this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Kevin Bowen Jan 23 '13 at 8:31
    
Also, if this is a link to your blog--which appears to be the case--then please edit this answer to explicitly disclose that. This is required by our policy about promotions: "Post good, relevant answers, and if some (but not all) happen to be about your product or website, that’s okay. However, you must disclose your affiliation in your answers" (emphasis in original). Thanks, and welcome to Ask Ubuntu! –  Eliah Kagan 11 hours ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.