求助:“aptd” 占用了我的 CPU 最大容量吗?

求助:“aptd” 占用了我的 CPU 最大容量吗?

我正在运行 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 文件而没有完成:升级失败导致的巨大的 apt 日志文件 - 出了什么问题以及我该如何修复它?

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

更新 #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-getapt-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 仍然在运行。我再次将它们关闭。将尝试升级并报告结果。

答案1

据我所知这里这里您必须执行以下步骤:

  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就足够了(而且会很讽刺!)。

相关内容