Jakoś zdarzyło mi się wymienić 14 GB pamięci. Po zabiciu sprawcy znów mam mnóstwo wolnej pamięci, więc pomyślałem, że mogę ponownie wprowadzić ważne dane . Tak więc przy 5 GB z 32 GB i 14 GB miejsca do wymiany, pobiegłem swapoff -a
.... i 4 godziny później około połowa pracy została zakończona.
Oznacza to mniej niż 1 MB / s, podczas gdy mogę łatwo skopiować 200 MB / s. Moja zamiana jest zaszyfrowana, ale podobnie jak wszystkie normalne partycje, a aes-ni nie powoduje zauważalnego obciążenia procesora (a wypełnienie przestrzeni wymiany zajęło tylko kilka minut). Widzę, że nie ma specjalnego powodu do optymalizacji swapoff
, ale zastanawiam się, w jaki sposób można to zrobić tak wolno?
Po prostu dodaję trochę więcej danych: Moja główna pamięć to 32 GB i mam 32 GB przestrzeni wymiany na każdym z 4 dysków twardych (na pewno przesada, ale kogo to obchodzi?). Całą przestrzeń wymiany można (odszyfrować i) odczytać w mniej niż 5 minut:
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
Czytanie części partycji nie może być wolniejsze niż czytanie wszystkich. Jednak odczyt około 1/10 tego zajmuje około 100 razy dłużej.
Zauważyłem, że podczas swapoff
obu procesor był w większości bezczynny (może 10% jednego rdzenia), podobnie jak dyski („mierzone” przez diody LED). Widziałem także, że przestrzenie wymiany zostały wyłączone jeden po drugim.
iostat -d 5
w tym czasie swapoff
również pokazywał niskie IO na dyskach ?