Ho installato Ubuntu 13.10 su un MacBook Pro 10,1. Tuttavia, dopo l'installazione, il processo kworker consuma oltre il 90% dell'utilizzo della CPU. Ho provato quanto segue:
- (Suggerito in questa risposta) Esegui
grep . -r /sys/firmware/acpi/interrupts/
per vedere se qualche GPE ha valori elevati. - (Suggerito in questa risposta) Sotto
sudo -s
, eseguiecho l > /proc/sysrq-trigger
e leggi l'output indmesg
. - (Suggerito in questa risposta) Esegui
sudo perf record -g -a sleep 10
e leggi l'output inperf report
.
Per 1, gpe16
aveva un alto valore e continuava a salire. Ho provato a disabilitare gpe16 come suggerito nella risposta e l'utilizzo della CPU di kworker è sceso allo 0,0%.
Per 2 (senza disabilitare gpe16
), dmesg
non ha mostrato informazioni aggiuntive rispetto a quelle presenti all'avvio.
Per 3 (senza disabilitare gpe16
), riportava in rosso:
- 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
Domande:
- Cos'è
gpe16
? Come faccio a sapere che disabilitare questo interrupt per il bene di kworker non avrà altre conseguenze? - Quali informazioni possono essere raccolte da
perf report
? C'è qualcosa a che fare con il timestamp su MacBook Pro?
Risposta accettata:
Quando ho un uso ridicolo della CPU, sembra sempre essere un processo correlato a Python. Lo uccido all'interno del monitor di sistema (Gnome) ogni volta che mi infastidisce.