Software Center richiede un'età per caricare


10

Ho un computer veloce (ottimo processore, buon SSD) ma Software Center impiega ben 30 secondi per caricarsi. Questo non è un problema, penso che potrebbe esserci qualcosa di sbagliato. Synaptic impiega un secondo per caricare.

Corsi strace software-centera vedere se stava schiacciando il disco (è un SSD - non riesco a sentirlo) e sta bloccando e tentando di aprire un intero carico di file. Ecco un estratto:

open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/FlexGet-1.0r1465-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/progressbar-2.3_dev-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/pynzb-0.1.0-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyRSS2Gen-1.0.0-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/html5lib-0.90-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/PyYAML-3.09-py2.6-linux-x86_64.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO", 0x7fff19d3af30) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIOmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/python2.6/dist-packages/transmissionrpc-0.6-py2.6.egg/StringIO.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)

Questa potrebbe essere un'aringa rossa. Più tardi si ferma a questo:

poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\v\0\0\0\3\0\0\0=\0\0\0\6\1s\0\7\0\0\0:1.3497\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 91
recvmsg(3, 0x7fff8c57cc00, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\3\0\0\0{\0\0\0\1\1o\0\32\0\0\0/com/ubu"..., 144}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 144
poll([{fd=3, events=POLLIN}], 1, 25000

E poi lo fa di nuovo ... Queste due pause rappresentano la maggior parte del tempo di caricamento.

E poi si capovolge davvero con migliaia di righe poll / read / temporaneamente non disponibili.

Quindi cosa sta succedendo qui? Perché Software Center sta scansionando quello che sembra essere un possibile pacchetto python che sta cercando StringIO? Bug?

Allora perché si blocca in quella che sembra una richiesta web a qualcosa.ubuntu.com (non riesco a vedere il messaggio completo)? Perché sta comunque parlando con ubuntu.com?


+1, è lo stesso su tutti i computer su cui ho installato Ubuntu, quindi dobbiamo aspettare una correzione
Praweł

@Oli Che versione di Ubuntu è questa? Uso Lucid da un po 'di tempo e non mi sono mai imbattuto in questo.
Mussnoon,

Posso confermare: è estremamente lento! Uso Synaptic infatti.
Andrea Grandi,

@Mussnoon: Maverick. Ed è stato così lento da Maverick. Penso che potrebbe avere qualcosa a che fare con le parti aggiunte per l'acquisto o single sign-on della nuova versione ... Ad ogni modo, bloccarlo in quel modo è piuttosto terribile.
Oli

3
Questo dovrebbe probabilmente essere segnalato come un bug.
Jorge Castro,

Risposte:


5

Sembra che stia recuperando una vista completamente aggiornata dei pacchetti disponibili (come quello che apt-get updatefa), che può richiedere del tempo a seconda di quanto è obsoleta la cache, quanto velocemente rispondono i repository software e la velocità del tuo connessione di rete.

Come menzionato nei commenti, questa mancanza di interattività durante l'aggiornamento sembra un bug.


Lo accetterei come risposta se Aptitude, Synaptic o anche solo apt-get updatefacendo lo stesso prendessero un posto vicino allo stesso tempo. Includendo la digitazione della password, viene time bash -c "sudo apt-get update" restituito 0m2.446s. Un hot run (subito dopo senza immissione della password) ha richiesto 0m0.572s. L'SC richiede costantemente> 30 secondi, quindi se questo è ciò che causa il ritardo, il bug è molto più di un semplice problema di interattività.
Oli

Strano. Ci sono voluti circa 30 secondi la prima volta che l'ho eseguito, poi ci sono voluti solo pochi istanti. "30 secondi" è sempre una bandiera rossa per me che qualcosa sta scadendo sul DNS. Indipendentemente da ciò, l'apertura di un bug avrebbe più senso.
Kees Cook,

Sai se c'è qualcosa in cui posso avvolgerlo che esamina solo il suo traffico di rete?
Oli

E pensavo di esagerare, ma risulta che sono più paziente di quanto mi dia credito. Ho appena eseguito il software center con time. 1m.55.410s. Ahia.
Oli

Di solito ho appena avviato una macchina virtuale e provo a riprodurla lì durante l'esecuzione tcpdumpo wireshark. Ma sarebbe bello avere un modo per farlo. Ho chiesto: askubuntu.com/q/11709/721
Kees Cook il

0

Incontro lo stesso problema. Quando apro per la prima volta il software-center, viene aperto rapidamente. Poi lo chiudo, ma trovo che il processo di software-center non venga interrotto. La seconda volta che lo apro, ci vorrà molto tempo per aprirlo. Il metodo è che uccido manualmente il processo del centro software dopo aver chiuso il centro software.

Uso ubuntu11.04 amd64 arch in thinkpad w500.

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.