我正在运行 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
终止
apt-get
并aptd
处理。需要使用killall -9 pid
(其中 pid 是进程 ID,您可以通过运行找到它top
)。-9
以确保进程被终止。那你需要尝试
sudo dpkg-reconfigure -phigh -a
和sudo dpkg --configure -a
- (可选)如果上述所有步骤都能正常工作,那么您应该没问题,但我建议您更新到较新版本的 ubuntu,因为看起来这是 apt-get 工作方式中的一个错误,应该在较新版本中完全删除。也许简单
apt-get update && apt-get upgrade
就足够了(而且会很讽刺!)。