我在MacBook Pro 10,1上安装了Ubuntu 13.10。但是,安装后,kworker进程消耗了90%以上的CPU使用率。我尝试了以下方法:
- (在此答案中建议)执行
grep . -r /sys/firmware/acpi/interrupts/
以查看是否有任何GPE的值很高。 - (在此答案中建议)在下
sudo -s
,执行echo l > /proc/sysrq-trigger
并读取中的输出dmesg
。 - (在此答案中建议)执行
sudo perf record -g -a sleep 10
并读取中的输出perf report
。
1,gpe16
具有很高的价值,它一直在攀升。我尝试按照答案中的建议禁用gpe16,并且kworker CPU使用率降至0.0%。
对于2(不禁用gpe16
),dmesg
没有显示任何其他信息(引导时显示)。
对于3(不禁用gpe16
),它以红色报告了以下内容:
- 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
问题:
- 什么
gpe16
啊 我怎么知道为kworker禁用此中断不会有其他后果? - 可以从中收集什么信息
perf report
?MacBook Pro的时间戳有什么作用吗?
1
这是一个问答网站。正如您的结果可能表明的那样,对它们进行分组时不太可能在这里获得答案。什么是gpe16是一个问题,并且可以从性能报告中收集哪些信息?是另一个。第三个不清楚的问题是MacBook Pro的时间戳是否与之有关?我建议将您的问题分解并单独呈现,因为这将更有可能产生答案,并且不会过于广泛和不清楚,因此您的问题会被跳过。我感谢你,社区也谢谢你!
—
年长的怪胎
如果您没有分配足够的交换空间,有时kworker会陷入循环中,因为它不断地搜索不存在的可用交换空间
—
mchid 2015年
如果安装更新版本的Ubuntu,情况会有所改善吗?我发现2009 MacBook Pro的Ubuntu Mate 15.04开箱即用。
—
HarlemSquirrel