appstreamcli sospeso con un utilizzo della CPU del 100% durante l'aggiornamento


76

appstreamclisurriscalda il mio laptop utilizzando costantemente il 100% di un core. La mia unica soluzione è ucciderlo. Ecco uno screenshot di top:

output dei migliori appstreamcli con utilizzo del 100% della cpu

Posso uccidere appstreamclicon o . Ma una volta fatto , il processo ritorna di nuovo e si blocca l'aggiornamento. Se poi lo uccido, ottengo il seguente output: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

Che cos'è questo processo e perché utilizza così tanta CPU?


2
È un bug. Vedi questa domanda: askubuntu.com/questions/774918/…
sempre

9
68 gradi è una buona temperatura per cucinare un uovo, ma per cucinare un laptop avrai bisogno di temperature molto più elevate.
Michael Hampton,

@MichaelHampton Il mio laptop si cucina quando qualche stupido processo del kernel impiega tutto il tempo della CPU; arriva a 100 gradi celci abbastanza facilmente. Quindi si spegne.
gatto

@cat Bene, 100 è il numero magico in cui sta cucinando il tuo laptop. Potrebbe valere la pena pulire il suo ventilatore e rifare la pasta termica sulla sua CPU.
Michael Hampton,

@MichaelHampton 100 è il numero magico in cui la CPU dice "Sto spegnendo altrimenti fermerò e prenderò fuoco !!!" . La ventola è pulita e la pasta termica nuova, è solo vecchia.
gatto

Risposte:


78

Ciò è causato da un bug https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712
La soluzione funzionante (ho appena provato):

Prima uccisione appstreamcli, manualmente o con

sudo kill -KILL $(pgrep appstreamcli)

o

sudo pkill -KILL appstreamcli

Poi:

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

Dopo questo sarai in grado di procedere con apt-get update come al solito


12
Esattamente il mio problema, ma che cos'è appstreamcli a proposito?
Charles-Antoine Fournel,

17
Fai attenzione, funziona su un sistema a 64 bit; su un 32-bit, è necessario passare amd64a i386nei collegamenti.
Rmano,

1
Per eseguire dopo il sudo kill {pid}passaggio l' errore " dpkg status database è bloccato da un altro processo ".
Andrea,

Il problema è che appstreamcli viene eseguito come root, quindi per aggirare il blocco del database, basta fare: sudo killall appstreamcli
wasp

2
Poiché questo errore si manifesta in un'occasione molto rara (secondo la descrizione), la correzione deve essere testata attraverso un test case. L'esecuzione sudo appstreamcli refresh --forcesenza sospensione confermerà che la correzione funziona. Ha funzionato per me. Grazie per la soluzione!
nolexa,

2

In alternativa, per qualsiasi motivo, se non si desidera installare un pacchetto fuori repo e attendere un aggiornamento, è possibile disinstallarlo completamente.

Questo rimuoverà Discover su KDE: Plasma, quindi suppongo che rimuoverà anche il software Gnome, o qualsiasi cosa venga aggiunto da Ubuntu Flavor. In questo caso, puoi semplicemente usare Muon su Kubuntu o Synaptic su DE basati su GTK.

Prima di eseguire questo, assicurati di controllare i pacchetti rimossi per assicurarti che vada bene per te.

Puoi capire cos'è qualcosa correndo

apt show appstream

per disinstallare l'esecuzione di appstream

sudo apt remove appstream
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.