Ich habe versucht, meine Inhalte auf meinem Computer zu aktualisieren, und es scheint, dass meine Paketliste nicht gelesen werden kann. Es sieht so aus, als ob ich jedes Mal, wenn ich das mache sudo apt-get install *something* && sudo apt-get update
, beim Lesen der Paketliste hängen bleibe, dies war vorher kein Problem. Hier sind meine Spezifikationen und so weiter:
- Speicher: 15,8 gb
- Prozessor: AMD Phenom (tm) II x4 965 Prozessor x 4
- Grafik: Gallium 0.4 auf AMD BARTS
- Betriebssystemtyp: 32-Bit
- Netspeed:
command-line
apt
Dre
quelle
quelle
sudo apt-get update
, richtig?Software Sources
, ob die Auswahl eines anderen Servers anstelle Ihres aktuellen Servers hilfreich ist.Antworten:
Ich habe das auch gesehen.
Ich habe keine Lösung, aber ich habe eine Problemumgehung (
echo 3 | sudo tee /proc/sys/vm/drop_caches
) und möglicherweise mehr Informationen, damit jemand die Untersuchung fortsetzen kann.Dies ist kein Netzwerkproblem, da unter "Paketliste lesen ..." nur Dateien eingelesen werden
/var/lib/apt/lists/
. EIN:gibt:
Sehen Sie, wie diese 8
read
Systemaufrufe über 2 Sekunden dauerten, obwohl jeder einzelne Anruf weniger als 1 ms dauert. Laufentime apt-get update
oder auf der Suche auftop
, ist dieser Prozess zwischen diesen beiden Anrufen nicht besetzt. Warum also die Verzögerung?Dann habe ich gemacht:
ein paar mal und schaute sich das Ergebnis in
kern.log
:Ich bin mir also nicht sicher, was das bedeutet, aber das betrifft die Behandlung von Seitenfehlern. Dies weist auf ein potenzielles Speicherverwaltungsproblem hin.
Ich habe dann versucht ein:
Und das ließ das Problem verschwinden.
Nun sieht es sehr nach einem Kernelproblem aus. Also habe ich auf den neuesten Kernel aktualisiert (3.8 Backport von
raring
) und das ist, wo ich bin. Wird aktualisiert, wenn das Problem mit dem neueren Kernel weiterhin besteht.Bearbeiten
Das Problem besteht weiterhin mit dem neuen Kernel, wenn auch nicht so schlimm. Und das Gleiche,
löscht das Problem für eine Weile. Ich habe das nur auf MSI-Laptops gesehen (Produktname: CR61 2M / CX61 2OC / CX61 2OD).
Edit Dezember 2015
Wie durch
btrace
aptitude
/ bestätigtapt-get
, werden momentan einige Datenträger-E / A-Vorgänge ausgeführt. Es hat eine temporäre Datei (/var/cache/apt/pkgcache.bin.<random-chars>
) im Speicher, weshalb sie in derstrace
Ausgabe nicht angezeigt wird .Ich kann immer noch nicht erklären, warum dies nur auf einigen Computern der Fall ist, warum das Löschen von Caches hilft und warum das Wechseln auf 64-Bit hilft.
Wenn jemand es reproduzieren kann, könnte ein interessanter Test sein, zu sehen, ob dies auch passiert, wenn er unter
eatmydata
oder/var/cache/apt
auftmpfs
eine Ramdisk läuft oder dies hilft.quelle
Der Rat unter http://antti-juhani.kaijanaho.fi/newblog/archives/521 hat mich auf verschiedenen Computern mehrmals beschleunigt:
(Der Blog hat auch empfohlen,
sudo dpkg --forget-old-unavail
zwischen den beiden Schritten zu wechseln, aber anscheinend ist er veraltet und wird nicht mehr benötigt.)quelle
Folge den Schritten:
Cache leeren:
Bewegen Sie den
sources.list
soapt
kann es nicht verwenden:Verschiebe es zurück und aktualisiere:
Überprüfen und entfernen Sie auch alle PPAs und Quellleitungen, die Sie nicht benötigen.
quelle
Auf meinem System war die Ursache ein falscher Wert in der
LANGUAGE=
Umgebungsvariablen. Es sollte Werte enthalten wieen:fr:de
und nichten_US.UTF-8,sl_SI.UTF-8
:Wenn
strace
derapt-get update
Befehl ausgeführt wird (über ), klingelt er beimread()
Aufruf. Die Ausführung dauert einige Zeit und beansprucht alle verfügbaren Zyklen eines CPU-Kerns:Wenn ich
LANGUAGE=
einen korrekten Wert einstelle (zBen
), wird alles wieder normal:quelle