Unity 占用 100% CPU

Unity 占用 100% CPU

我有一台装有 Nvidia 驱动程序的 HP 笔记本电脑。运行时,top我可以看到它unity-panel-service消耗了 100% 的 CPU 约 20 秒,然后 CPU 消耗下降到约 10% 的 CPU 约 5 秒。这个循环继续。我尝试终止该进程。但它会产生一个新进程,并且它似乎在一段时间内没有任何问题,但之后问题再次出现。我该如何解决这个问题?

答案1

这是一个众所周知的错误,我想我看到了一些进展。实际上,我认为我已经有一段时间没有遇到这种情况了。确保安装最新的升级。它可能已经修复了。如果没有,在修复之前,您可以通过按 alt+f2 并输入 轻松“修复它” killall unity-panel-service。这将重新启动指示器,它将恢复正常。

除非您真正想要修复代码,否则您无法采取任何措施来阻止它,只需在错误报告中添加一些信息即可。

答案2

另一个可能的解决方法是限制 unity-panel-service 的 CPU 使用率。您可以下载一个名为 cpulimit 的简单程序,使用以下命令:

sudo apt-get install cpulimit 

然后你可以运行这个命令:

cpulimit -e unity-panel-service -l 30

它不能解决问题,但可能在发布适当的修复程序时使您的系统可用。正如 Jo-Erlend Schinstad 所说,这是一个老错误。我建议您报告它也影响到您:

https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1199877

答案3

我在联想 Y50 和 ubuntu 14.04 上使用 Unity 时也遇到了同样的问题。Cpulimit 方法(@Goghard 提到)对我而言没有任何效果,因此我尝试自动终止 unity-panel-service,此时此服务的日志文件开始增大(如果您不注意,有时此文件会占用磁盘上的所有可用空间)。

我使用这样一个 bash 脚本,名为 fe, check-and-restart-ups.sh:

#!/bin/bash
filesize=$(stat -c%s "/home/<username>/.cache/upstart/unity-panel-service.log")
if [ "$filesize" -gt "1000000" ]
then
    #restart unity-panel-service
    kill $(pgrep unity-panel-ser)
    rm /home/<username>/.cache/upstart/unity*
fi

使其可执行并通过 crontab 每分钟运行一次:

*/1 * * * * root /home/<username>/check-and-restart-ups.sh

我希望它能对你有所帮助。

相关内容