D'une manière ou d'une autre, j'ai échangé 14 Go de mémoire. Après avoir tué le coupable, j'ai à nouveau des tonnes de mémoire libre, alors j'ai pensé pouvoir à nouveau importer les données importantes . Donc, avec 5 Go sur 32 Go utilisés et 14 Go d'espace d'échange utilisés, j'ai couru swapoff -a
... et 4 heures plus tard, environ la moitié du travail était terminée.
Cela signifie moins de 1 Mo / s, alors que je peux facilement copier 200 Mo / s. Mon swap est crypté, mais toutes les partitions normales le sont également. Avec aes-ni, cela ne génère aucune charge processeur sensible (et remplir l'espace de swap n'a pris que quelques minutes). Je vois qu'il n'y a pas de raison particulière d'optimiser swapoff
, mais je me demande comment cela pourrait être aussi lent.
J'ajoute juste quelques données supplémentaires: Ma mémoire principale est de 32 Go et j’ai un espace d’échange de 32 Go sur chacun des 4 disques durs (sûrement trop, mais on s’en fiche de qui?). La totalité de l’espace de swap peut être (déchiffré et) lu en moins de 5 minutes:
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
Lire une partie d'une partition ne peut pas être plus lent que de tout lire. Pourtant, en lire environ un dixième prend environ 100 fois plus de temps.
J'ai observé que pendant les swapoff
deux processeurs, le processeur était principalement inactif (peut-être 10% d'un cœur), de même que les disques ("mesurés" par les voyants). J'ai aussi vu que les espaces de swap étaient éteints les uns après les autres.
iostat -d 5
- ce que vous avez également montré une faible IO sur les disques swapoff
?