在更新过程中,appstreamcli挂起了100%CPU使用率


76

appstreamcli不断使用100%的内核会导致笔记本电脑过热。我唯一的解决方案是杀死它。这是截图top

顶部显示appstreamcli的输出,其cpu使用率为100%

我可以appstreamcli用或杀死。但是一旦完成,该过程将再次返回并挂起更新。如果然后杀死它,则会得到以下输出:sudo kill pidsudo killall appstreamclisudo apt updateappstreamcli

Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success
'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;
 then appstreamcli refresh > /dev/null;
 fi'
E: Sub-process returned an error code

这个过程是什么?为什么要使用这么多的CPU?


2
这是一个错误。看到这个问题:askubuntu.com/questions/774918/...
alwaysask

9
68度是一个煮鸡蛋的好温度,但是您将需要更高的温度来煮笔记本电脑。
迈克尔·汉普顿

@MichaelHampton当某个愚蠢的内核进程占用了所有CPU时间时,我的笔记本电脑便会煮熟。它很容易升至摄氏100度。然后关闭。

@cat对,100是您的笔记本电脑正在煮的魔幻数字。可能值得清理风扇并重做CPU上的导热膏。
迈克尔·汉普顿

@MichaelHampton 100是CPU表示的魔法数字,“我要关闭电源,否则我将暂停并着火!!!” 。风扇是干净的,导热膏是新的,只是旧的。

Answers:


78

这是由以下错误引起的:https
://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712工作解决方案(自己尝试过):

首先杀死appstreamcli,手动或与

sudo kill -KILL $(pgrep appstreamcli)

要么

sudo pkill -KILL appstreamcli

然后:

wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

之后,您将能够照常进行apt-get更新


12
确实是我的问题,但是appstreamcli是什么?
查尔斯·安托万·富内尔

17
注意,这在64位系统上有效;在32位上,您必须更改amd64i386链接。
Rmano

1
sudo kill {pid}传递“ dpkg状态数据库被另一个进程锁定 ”错误后要做。
安德里亚

问题在于appstreamcli是作为root用户运行的,因此要绕过数据库锁定,只需执行以下操作:sudo killall appstreamcli
wasp

2
由于此错误很少出现(根据描述),因此必须通过测试案例来测试此修复程序。运行 sudo appstreamcli refresh --force而不挂起将确认该修复程序有效。它为我工作。谢谢您的解决方案!
nolexa '16

2

另外,由于某种原因,如果您不想安装out of repo软件包,而只是等待更新,则可以将其完全卸载。

这将删除KDE:Plasma上的Discover,因此我认为它还将删除Gnome软件或您的Ubuntu Flavor添加的内容。如果是这种情况,您可以在Kubuntu上使用Muon,或在基于GTK的DE上使用Synaptic。

在运行此程序之前,请确保检查已删除的软件包,以确保可以。

您可以通过运行来弄清楚什么是东西

apt show appstream

卸载appstream运行

sudo apt remove appstream
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.