Ubuntu: What is causing Ubuntu on MacBook Pro to have high CPU usage?



Question:

I installed Ubuntu 13.10 on a MacBook Pro 10,1. However, after installing, the kworker process consumes over 90% of CPU usage. I tried the following:

  1. (Suggested in this answer) Execute grep . -r /sys/firmware/acpi/interrupts/ to see if any GPEs have high values.
  2. (Suggested in this answer) Under sudo -s, execute echo l > /proc/sysrq-trigger and read the output in dmesg.
  3. (Suggested in this answer) Execute sudo perf record -g -a sleep 10 and read the output in perf report.

For 1, gpe16 had a high value and it kept climbing. I tried disabling gpe16 as suggested in the answer, and the kworker CPU usage went down to 0.0%.

For 2 (without disabling gpe16), dmesg showed no additional information than what was present at boot.

For 3 (without disabling gpe16), it reported the following in red:

-  50.76%      kworker/0:5  [kernel.kallsyms]                        [k] native_read_tsc     - native_read_tsc        - 64.72% delay_tsc             __const_udelay           + gmux_index_wait_ready.isra.6        - 35.28% __const_udelay           + gmux_index_wait_ready.isra.6  -  35.14%      kworker/0:5  [kernel.kallsyms]                        [k] delay_tsc     - delay_tsc     - __const_udelay     - gmux_index_wait_ready.isra.6        - 59.84% gmux_index_write8             gmux_notify_handler             acpi_ev_notify_dispatch             acpi_os_execute_deferred             process_one_work             worker_thread             kthread             ret_from_fork        - 40.16% gmux_index_read8             gmux_notify_handler             acpi_ev_notify_dispatch             acpi_os_execute_deferred             process_one_work             worker_thread             kthread             ret_from_fork  

Questions:

  1. What is gpe16? How do I know that disabling this interrupt for the sake of kworker will not have other consequences?
  2. What information can be gleaned from perf report? Is there something do to with the timestamp on the MacBook Pro?


Solution:1

When I have a ridiculous high CPU usage it always seems to be a Python related process. I just kill it inside (Gnome) System Monitor whenever it bugs me.


Solution:2

I know this is an old question, but there are two things you can try.

  1. htop. This is an alternative to top. It adds scrolling and some other useful features, which might help you see a process that might be using a lot of CPU.
  2. System Monitor. This is a built-in application and is the Ubuntu equivalent to Windows Task Manager. It will let you sort by different things and kill tasks, all graphically.


Solution:3

The high cpu usage would mostly likely be attributed to cpu/gpu interactions mainly due to the compositing and the stock window manager; running somewhere north of 300 processes 'out of the box' at start up. As an alternative install openbox, which will then become your window manager. By doing so you drop your cpu processes in idle stat from around 320-380 to ~250-290 or less. You can use a Ubuntu like desktop only it will run with the openbox window manager.

Also install gkrellm. Its a realtime system monitoring application written and maintained by Bill Smith and company. It real-time reads the kernel's output. You can monitor your system processes with it and find out what works best for your machine.

These pics are of gkrellm which shows the difference in the processes via both dTop environments.

UbuntuDtop

OpBxBuntu

The Ubuntu Desktop environment relies heavily on python. Disabling it would lead to false output.

Good Luck! Don't join the darkside! The force is with Ubuntu!


Solution:4

Just a shot in the dark but I've had this occur with lightdm hogging cpu time. I've had to downgrade to an older version. This was while back...


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »