Entah bagaimana saya menukar memori 14 GB. Setelah membunuh pelakunya, saya memiliki banyak memori bebas, jadi saya pikir saya bisa memasukkan data penting lagi. Jadi dengan 5 GB dari 32 GB yang digunakan dan 14 GB ruang swap yang digunakan, saya berlari swapoff -a
.... dan 4 jam kemudian sekitar setengah dari pekerjaan selesai.
Ini berarti kurang dari 1 MB / s, sementara saya dapat dengan mudah menyalin 200 MB / s. Swap saya dienkripsi tetapi begitu juga semua partisi normal dan dengan aes-ni itu tidak menyebabkan beban CPU yang nyata (dan mengisi ruang swap hanya membutuhkan waktu beberapa menit). Saya melihat bahwa tidak ada alasan khusus untuk mengoptimalkan swapoff
, namun saya bertanya-tanya bagaimana itu bisa menjadi lambat?
Hanya menambahkan beberapa data lagi: Memori utama saya adalah 32 GB dan saya memiliki ruang swap 32 GB di masing-masing dari 4 harddisk (pasti berlebihan, tapi siapa yang peduli?). Seluruh ruang swap dapat (didekripsi dan) dibaca dalam waktu kurang dari 5 menit:
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
Membaca bagian dari partisi tidak bisa lebih lambat daripada membaca semuanya. Namun membaca sekitar 1/10 dari itu membutuhkan waktu sekitar 100 kali lebih lama.
Saya mengamati bahwa selama swapoff
kedua CPU sebagian besar idle (mungkin 10% dari satu inti) dan begitu pula disk ("diukur" oleh LED). Saya juga melihat bahwa ruang swap dimatikan satu demi satu.
iostat -d 5
menunjukkan IO rendah pada disk swapoff
juga?