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-triggere leggi l'output indmesg. - (Suggerito in questa risposta) Esegui
sudo perf record -g -a sleep 10e 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.