为什么 Whoopsie 越来越占用更多的 CPU?

我正在运行Ubuntu 12.04 LTS,并且一直在使用top程序跟踪whoopsie,注意到了一些奇怪的情况。
下午,守护进程只使用了2%的CPU功率。
但是在晚上,这个数字慢慢增加,有时甚至达到了40%的CPU功率。
我正在使用一台10年前的机器,但即使是通常运行良好的VLC也因为CPU使用率的增加而出现了卡顿问题。
由于我在使用一台旧机器,我应该关闭whoopsie(如什么是'whoopsie'进程,如何移除它?中所述),还是有办法让whoopsie的CPU占用更低一些?

嗯,我刚刚注意到这个已被提交的错误报告:whoopsie和NetworkManager配对导致巨大的CPU负载。你或许能够确认一下这个新的报告。 - valse-triste
@Ed 是的,我也注意到了与NetworkManager的串联组合,而且我相信deja-dup-monito也参与其中。有一件事让我印象深刻,就是这个bug #1056393:当我同时运行种子程序transmission时,我可以明显地看到所提到的串联会增加CPU负载。我猜测transmission(在下载过程中)涉及到了NetworkManager,并以某种方式触发了这个bug。我会仔细查看,看看是否能够将我的经验添加到bug报告中。 - Gertjan
1个回答

我有一个关于如何解决你的问题的想法:作为一个临时措施,你可以使用一个叫做CPU Limit的程序来限制'whoopsie'的CPU使用率。
你可以在下面下载它:

Install via the software center

这样至少在观看电影时,您的电影应该能保持无延迟,并且一旦设置了上限,直到下次关机之前都不会再打扰您。如果您需要更多关于如何安装和使用它的信息,我在这里找到了一个解释得很好的教程here

然而,由于这不是一个永久性的上限,如果您希望以更长久的方式进行上限控制,您需要让Ubuntu每次启动时运行它。我不是一个对于需要运行的命令很熟悉的专家,但我认为应该有可能在启动时运行并限制进程(如果您不知道如何设置应用程序/进程在启动时运行,请参考这篇帖子)。

我建议您先尝试使用CPU Limit,如果您对它处理问题的效果满意,并且希望它在启动时运行,您可以按照hhlp发布的指示here by hhlp添加以下行:

cpulimit -e whoopsie -l 3 &

将以下内容添加到/etc/rc.local文件中,这样每次启动时Whoopsie的CPU使用率都会限制在3%以内。
理想情况下,如果这是一个已经被评论过的错误,可能很快就会解决,但在那之前,这是我解决问题的方法。

我试过你提出的使用cpulimit的想法。对于我拥有的进程,它运行得很好,但似乎对于root拥有的进程(比如whoopsie)不起作用。 - Gertjan
你需要在命令前面加上 sudo 运行,这将确保你拥有 root 权限,它会要求输入密码,之后会正常执行。 - Oyibo
我已经发布了一个有用的链接,如果你不熟悉的话,请点击这里。这样应该能正常工作,但如果问题仍然存在,请随时发表新评论,如果它能起作用,我将把它编辑到答案中。 - Oyibo
2非常感谢您的有益评论,我很感激。我在理解上犯了一个错误,就是在启动时添加了cpulimit(用户登录时)。在这里我不能使用sudo(除非我visudo cpulimit,但我不喜欢这样做)。也许我应该将cpulimit添加到某个引导脚本中。 - Gertjan
不客气!我对启动脚本并不太熟悉,所以不确定它是否会引起其他问题。如果我是你,我会提一个问题,标题类似于:“如何在启动时设置启动脚本”,然后解释你想要在启动时运行CPU Limit,并附上这篇帖子的链接。我很愿意为你的问题设置一个赏金,因为我非常有兴趣学习如何实现这个功能。 - Oyibo
在[http://askubuntu.com/questions/9382/how-can-i-configure-a-service-to-run-at-startup/9384#9384]上有一个描述。我已经将`cpulimit -e whoopsie -l 3 &`添加到文件/etc/rc.local中。 - Gertjan
应该可以的,试一试吧,一旦你告诉我它是否有效,我会将其编辑到我的答案中,这样你就可以接受它了 :) - Oyibo
1是的,将 cpulimit -e whoopsie -l 3 & 添加到 /etc/rc.local(在退出语句之前)可以解决我的问题。 - Gertjan