Nainstaloval jsem Ubuntu 13.10 na MacBook Pro 10,1. Po instalaci však proces kworker spotřebovává přes 90 % využití CPU. Zkusil jsem následující:
- (Navrženo v této odpovědi) Spusťte
grep . -r /sys/firmware/acpi/interrupts/
abyste zjistili, zda nějaké GPE mají vysoké hodnoty. - (Navrženo v této odpovědi) Pod
sudo -s
, spusťteecho l > /proc/sysrq-trigger
a přečtěte si výstup vdmesg
. - (Navrženo v této odpovědi) Proveďte
sudo perf record -g -a sleep 10
a přečtěte si výstup vperf report
.
Za 1, gpe16
měl vysokou hodnotu a stále stoupal. Pokusil jsem se zakázat gpe16, jak je navrženo v odpovědi, a využití procesoru kworker kleslo na 0,0 %.
Za 2 (bez deaktivace gpe16
), dmesg
neukázal žádné další informace než ty, které byly přítomny při spouštění.
Za 3 (bez deaktivace gpe16
), hlásil následující červeně:
- 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
Otázky:
- Co je
gpe16
? Jak mám vědět, že deaktivace tohoto přerušení kvůli kworkerovi nebude mít další důsledky? - Jaké informace lze získat z
perf report
? Je možné něco udělat s časovým razítkem na MacBooku Pro?
Přijatá odpověď:
Když mám směšně vysoké využití CPU, vždy to vypadá, že jde o proces související s Pythonem. Prostě to zabiju uvnitř (Gnome) System Monitor, kdykoli mě napadne.