帮助:“aptd”正在最大化我的 CPU?

Mat*_*att 7 apt dpkg 12.04

我正在运行 Ubuntu 12.04,并且有一个以 root 身份运行的“aptd”进程(我理解是正确的),但占用了 95% 的 CPU(这绝对是不对的)。

根据此处的答案之一如何阻止“aptd”最大化我的 CPU?我尝试运行 dpkg-reconfigure,它刚刚添加了一个新进程,它占用了 20% 的 CPU,直到它报告

  /usr/sbin/dpkg-reconfigure: menu is broken or not fully installed.
Run Code Online (Sandbox Code Playgroud)

可能与升级过程最近留下了一个巨大的 apt.log 文件有关,但没有走到最后:一个来自升级失败的巨大 apt 日志文件 - 出了什么问题,我该如何解决?

我需要做什么才能让我的系统恢复正常运行?

更新 #1

这个错误报告https://bugs.launchpad.net/ubuntu/+source/apt/+bug/665580建议我运行

 sudo apt-get -y update
Run Code Online (Sandbox Code Playgroud)

但它说

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
Run Code Online (Sandbox Code Playgroud)

所以我试过了

sudo rm /var/lib/apt/lists/lock
sudo apt-get -y update
Run Code Online (Sandbox Code Playgroud)

这并没有阻止 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_ 
Run Code Online (Sandbox Code Playgroud)

这杀死了顽皮的进程。现在找出损坏的地方并修复它?

我将尝试重新启动以查看它是否再次发生。

更新 #4

好的,所以我刚刚重新启动。

apt-check 立即进入并达到 88% 左右 aptd 然后加入并迅速攀升至 100% 到 102%。

apt-check 仍然存在,但在 40% 到 50% 之间。

看来我迟早要杀掉那些人?

更新 5

在超过 24 小时的 CPU 时间后,Apt-check 和 aptd 仍在燃烧。我又杀了他们。将尝试升级并报告。

Sha*_*tia 6

根据我在这里这里可以找到的内容,您必须执行以下步骤:

  1. 杀死apt-getaptd处理。使用killall -9 pid(其中 pid 是您可以通过运行找到的进程 ID top)。-9需要确保进程终止。

  2. 那么你需要尝试

sudo dpkg-reconfigure -phigh -asudo dpkg --configure -a

  1. (可选)如果上述所有步骤都可以独立运行,那么您应该没问题,但我建议您更新到更新版本的 ubuntu,因为它似乎是 apt-get 工作方式中的一个错误,应该在最近的版本中被完全删除。也许一个简单的apt-get update && apt-get upgrade就足够了(而且会很讽刺!)。

  • 在 Ubuntu 16.10 中,我锁定了 `/var/lib/dpkg/lock`,只需要运行 `sudo dpkg --configure -a`。 (2认同)