Tôi đã cài đặt Ubuntu 13.10 trên MacBook Pro 10,1. Tuy nhiên, sau khi cài đặt, quá trình kworker tiêu thụ hơn 90% mức sử dụng CPU. Tôi đã thử như sau:
- (Được đề xuất trong câu trả lời này ) Thực thi
grep . -r /sys/firmware/acpi/interrupts/
để xem liệu có bất kỳ GPE nào có giá trị cao không. - (Đề xuất trong câu trả lời này ) Dưới
sudo -s
, thực hiệnecho l > /proc/sysrq-trigger
và đọc đầu ra trongdmesg
. - (Đề xuất trong câu trả lời này ) Thực thi
sudo perf record -g -a sleep 10
và đọc đầu ra trongperf report
.
Đối với 1, gpe16
có giá trị cao và nó tiếp tục leo. Tôi đã thử vô hiệu hóa gpe16 như đề xuất trong câu trả lời và việc sử dụng CPU kworker giảm xuống 0,0%.
Đối với 2 (không tắt gpe16
), dmesg
không hiển thị thêm thông tin nào ngoài thông tin có sẵn khi khởi động.
Đối với 3 (không tắt gpe16
), nó báo cáo như sau bằng màu đỏ:
- 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
Câu hỏi:
- Là
gpe16
gì Làm thế nào để tôi biết rằng việc vô hiệu hóa ngắt này vì lợi ích của kworker sẽ không có hậu quả khác? - Những thông tin có thể được lượm lặt từ
perf report
? Có điều gì để làm với dấu thời gian trên MacBook Pro?