我怎样才能弄清楚polkitd在我的系统资源上做了多少工作?

我在acer c7(chrubuntu 12.04安装然后两次系统升级)上运行13.04,现在每当我使用我的计算机超过几分钟时,它就会减速为polkitd,dbus-daemon,console-kit-daemon和networkmanager咀嚼我所有的系统资源。 我试过谷歌搜索这个问题,但它似乎并不是非常普遍,或者我只是遗漏了一些东西。

我试过看我的系统日志,但似乎没什么特别不寻常的。 我也试过看dbus-monitor。 我不完全确定我在那里寻找什么,但似乎没有持续不断的活动。 还有其他方法可以查看polkitd和/或其他进程的内容吗?

我也很感激如何解决这个问题。

谢谢!

关闭运行chrUbuntu 13.04的Acer C710 Chromebook上的盖子后,我遇到了同样的高CPU使用率问题。 在我的系统上, dbus-monitor --system显示了一大堆NameOwnerChanged消息,大约每秒30个。 这些反复唤醒dbus上的每个人,特别是polkitd,还有网络管理员,nm-applet等。

但是DBus只是这样做,因为acpid会反复运行/etc/acpid/lid.sh脚本。 反过来,这是由于一个过度活跃的ACPI中断线,与此问题完全相同:

为什么kworker cpu使用率如此之高?

对于我的系统,问题出在/ sys / firmware / acpi / interrupts / gpe1F中,并且对此中断回显“禁用”会立即停止CPU使用。 这导致系统在盖子关闭时完全没有任何作用,但我仍然可以从控制台“sudo pm-suspend”,打开盖子或按键盘正常唤醒。

更重要的是,CPU使用率几乎为零!

我有同样的症状,在我的情况下, Nepomuk在大量的活动中淹死了dbus。 不过,我想有一百万种方法可以创造相同的症状。

dbus-monitor是一个很好的起点。 您是否尝试过dbus-monitor --system以及dbus-monitor --session

您可以通过strace窥探那些其他高CPU消费者,看看他们正在打开/关闭/发送什么。

通过名称轻松打开进程的strace:

 sudo strace -p$(ps -ef |grep console-kit-daemon |grep -v grep |awk '{print $2}') 

来自: https : //askubuntu.com/a/233947

我无法对另一个答案发表评论,但是从最高评级的答案中,它表示将“禁用”回显到一个中断以禁用过度活跃的ACPI线。 要查找哪个中断,请运行以下命令:

 grep . -r /sys/firmware/acpi/interrupts/ 

然后,寻找高数字的答案。 Echo禁用进入该文件,你应该很高兴。

顶部的源链接有关于如何在暂停和重新启动后使其保持持久性的完整信息,但是点击他的回答,我不值得信任。