是什么原因导致 MacBook Pro 上的 Ubuntu CPU 使用率过高?

是什么原因导致 MacBook Pro 上的 Ubuntu CPU 使用率过高?

我在 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

问题:

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

答案1

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

答案2

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

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

答案3

高 CPU 使用率很可能归因于 CPU/GPU 交互,这主要是由于合成和常用窗口管理器;启动时“开箱即用”运行 300 多个进程。作为替代方案,安装 openbox,它将成为您的窗口管理器。通过这样做,您可以将空闲状态中的 CPU 进程从大约 320-380 降至 ~250-290 或更低。您可以使用类似 Ubuntu 的桌面,只不过它将与 openbox 窗口管理器一起运行。

还要安装 gkrellm。它是 Bill Smith 及其公司编写和维护的实时系统监控应用程序。它实时读取内核的输出。您可以使用它监控系统进程并找出最适合您机器的进程。

这些图片是 gkrellm 的,展示了两个 dTop 环境中流程的差异。

UbuntuDtop

操作系统

Ubuntu 桌面环境严重依赖 Python。禁用它会导致错误输出。

祝你好运!不要加入黑暗势力!力量与 Ubuntu 同在!

答案4

这只是瞎猜,但我遇到过这种情况,lightdm 占用了 CPU 时间。我不得不降级到旧版本。这是前段时间的事了...

相关内容