我有一台装有 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
我希望它能对你有所帮助。