我正在运行 Ubuntu 12.04 并且有一个以 root 身份运行的“aptd”进程(我理解是正确的)但是占用了 95% 的 CPU(这绝对是不正确的)。
根据此处的答案之一如何阻止“aptd”使我的 CPU 达到极限?我尝试运行 dpkg-reconfigure ,它只是添加了一个新进程,它占用了 20% 的 CPU 很长时间,直到它报告
/usr/sbin/dpkg-reconfigure: menu is broken or not fully installed.
可能与升级过程有关,最近留下了一个巨大的 apt.log 文件而没有结束:A huge apt log file from failed upgrade - what went wrong & how do I fix it?
我需要做什么才能让我的系统恢复正常运行?
更新 #1
这个错误报告https://bugs.launchpad.net/ubuntu/+source/apt/+bug/665580建议我运行
sudo apt-get -y update
但它说
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
所以我试过了
sudo rm /var/lib/apt/lists/lock
sudo apt-get -y update
这并没有阻止 aptd 最大化 CPU。
尽管有警告不要这样做,但我还是试图终止该进程,但它拒绝被终止。
更新 #2
现在这正在慢慢烧毁我的 CPU,风扇一直全速运转。伙计,他们很吵(必须对下一次硬件升级做点什么)。
aptd 使用命令行/usr/bin/python /usr/bin/aptd 运行,显然已经使用了 1d17h CPU 时间。
然而,它现在已被 apt-get 加入,它在命令行apt-get -qq -y -d -dist-upgrade下运行。因此,aptd 已“下降”到 85.1MiB 内存,而 183.8MiB 虚拟内存已用完。
我正在考虑重新启动或关闭,如果只是为了让我的硬件免于烹饪。
更新 #3
根据 ShadowMitia 的评论,我试过了
sudo killall -9 apt-get
sudo kill -9 _pid_
这杀死了顽皮的过程。现在要找出损坏的地方并修复它?
我将尝试重新启动以查看它是否再次发生。
更新 #4
好的,所以我刚刚重新启动。
apt-check 立即进入并达到约 88% aptd 然后加入并迅速攀升至 100% 至 102%。
apt-check 仍然存在,但在 40% 到 50% 之间。
看来我迟早要杀掉那些人?
更新 5
在超过 24 小时的 CPU 时间后,apt-check 和 aptd 仍在燃烧。我又杀了他们。将尝试升级并报告回来。
根据我在这里和这里可以找到的内容,您必须执行以下步骤:
杀死
apt-get
和aptd
处理。使用killall -9 pid
(其中 pid 是您可以通过运行找到的进程 IDtop
)。-9
需要确保进程终止。那么你需要尝试
sudo dpkg-reconfigure -phigh -a
和sudo dpkg --configure -a
apt-get update && apt-get upgrade
的就足够了(而且会很讽刺!)。