我使用带有默认驱动程序的 ElementaryOS,并且我的 Gala 进程不断使用大量 CPU(有时超过 200%)。
我到处找过但找不到解决方案。我尝试安装专有的 Intel HD Graphics 3000 和 NVIDIA 驱动程序,但无法登录系统(黑屏)。
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 540M] (rev a1)
如何解决CPU使用率过高的问题?机器:戴尔灵越n5110
答案1
有些东西让您认为显卡驱动程序导致了 100% CPU 使用率,但这需要验证。
我建议执行以下操作:
- 找到占用 100% CPU 的进程的 id,例如
pgrep gala
,我们将此 pid 编号称为 $PID;如果您发现多个进程 ID,请务必选择导致 100% CPU 使用率的进程 ID(htop
这将帮助您) - 捕获一些正在运行的系统调用
sudo strace -p $PID 2>&1 | tee gala_strace.log
(将 $PID 替换为您在 (1) 中找到的进程 ID) - 如果您看到的输出相关,请考虑向 ElementaryOS 提交错误团队
- 如果输出不相关,您可能需要使用
gdb
导致 CPU 使用率高的正在运行的线程并从中获取更多信息
笔记:我之所以提出这种方法,是因为它是唯一一种能够识别 100% 使用率的来源,同时可用于查找真正原因并帮助修复上游 bug 的方法