Irgendwie habe ich zufällig 14 GB Speicher ausgelagert. Nachdem ich den Täter getötet habe, habe ich wieder jede Menge freien Speicherplatz, sodass ich dachte, ich könnte die wichtigen Daten wieder einspielen. Also mit 5 GB von 32 GB und 14 GB Swap-Speicherplatz lief ich swapoff -a
... und 4 Stunden später war ungefähr die Hälfte der Arbeit beendet.
Das bedeutet weniger als 1 MB / s, während ich problemlos 200 MB / s kopieren kann. Mein Swap ist verschlüsselt, genauso wie alle normalen Partitionen. Mit aes-ni wird die CPU nicht merklich ausgelastet (und das Ausfüllen des Swap-Speicherplatzes dauerte nur wenige Minuten). Ich sehe, dass es keinen besonderen Grund gibt, zu optimieren swapoff
, aber ich frage mich, wie es so langsam werden könnte.
Ich füge nur ein paar Daten hinzu: Mein Hauptspeicher ist 32 GB und ich habe 32 GB Swap-Speicherplatz auf jeder der 4 Festplatten (sicherlich ein Overkill, aber wen interessiert das?). Der gesamte Swap-Bereich kann in weniger als 5 Minuten entschlüsselt und gelesen werden:
time -p sudo sh -c 'for i in /dev/mapper/cryptswap?; do md5sum $i & done; wait'
014a2b7ef300e11094134785e1d882af /dev/mapper/cryptswap1
a6d8ef09203c1d8d459109ff93b6627c /dev/mapper/cryptswap4
05aff81f8d276ddf07cf26619726a405 /dev/mapper/cryptswap3
e7f606449327b9a016e88d46049c0c9a /dev/mapper/cryptswap2
real 264.27
Das Lesen eines Teils einer Partition kann nicht langsamer sein als das Lesen aller Teile. Das Lesen von ungefähr 1/10 dauert jedoch ungefähr 100-mal länger.
Ich beobachtete, dass swapoff
sowohl die CPU zum größten Teil im Leerlauf war (vielleicht 10% eines Kerns) als auch die Festplatten ("gemessen" durch die LEDs). Ich habe auch gesehen, dass die Swap-Räume nacheinander abgeschaltet wurden.
iostat -d 5
während swapoff
auch Low IO auf den Datenträgern angezeigt?