是什么导致 MacBook Pro 上的 Ubuntu 具有高 CPU 使用率?

cub*_*729 12 performance cpu macbook-pro

我在 MacBook Pro 10,1 上安装了 Ubuntu 13.10。但是安装后kworker进程占用了90%以上的CPU使用率。我尝试了以下方法:

  1. (在此答案中建议)执行grep . -r /sys/firmware/acpi/interrupts/以查看是否有任何 GPE 具有高值。
  2. (在此答案中建议)在 下sudo -s,执行echo l > /proc/sysrq-trigger并读取dmesg.
  3. (在此答案中建议)执行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
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 什么是gpe16?我怎么知道为了 kworker 禁用这个中断不会有其他后果?
  2. 可以从中收集到哪些信息perf report?MacBook Pro 上的时间戳有什么关系吗?

小智 1

当我的 CPU 使用率高得离谱时,它似乎总是与 Python 相关的进程。每当它困扰我时,我都会在(Gnome)系统监视器中杀死它。


The*_*rer 0

我知道这是一个老问题,但您可以尝试以下两件事。

  1. htop。这是 的替代方案top。它添加了滚动和其他一些有用的功能,这可能会帮助您查看可能使用大量 CPU 的进程。
  2. 系统监视器。这是一个内置应用程序,在 Ubuntu 中相当于 Windows 任务管理器。它可以让您按不同的事物进行排序并终止任务,所有这些都以图形方式进行。