อย่างใดฉันเกิดขึ้นเพื่อสลับหน่วยความจำ 14 GB หลังจากฆ่าผู้กระทำความผิดฉันมีหน่วยความจำว่างอีกครั้งดังนั้นฉันจึงคิดว่าฉันสามารถนำข้อมูลสำคัญอีกครั้ง ดังนั้นด้วยการใช้ 5 GB จาก 32 GB และใช้พื้นที่ swap 14 GB ฉันจึงวิ่งswapoff -a
.... และ 4 ชั่วโมงต่อมาประมาณครึ่งหนึ่งของงานก็เสร็จ
ซึ่งหมายความว่าน้อยกว่า 1 MB / s ในขณะที่ฉันสามารถคัดลอก 200 MB / s swap ของฉันถูกเข้ารหัส แต่เช่นเดียวกับทุกพาร์ติชันปกติและด้วยaes-niมันทำให้ไม่มีโหลดซีพียูที่สังเกตได้ (และการเติมพื้นที่สว็อปใช้เวลาเพียงไม่กี่นาที) ฉันเห็นว่าไม่มีเหตุผลพิเศษในการเพิ่มประสิทธิภาพswapoff
แต่ฉันสงสัยว่ามันจะช้าขนาดนั้นได้อย่างไร
เพียงแค่เพิ่มข้อมูลเพิ่มเติม: หน่วยความจำหลักของฉันคือ 32 GB และฉันมีพื้นที่สว็อป swap ขนาด 32 GB ในแต่ละฮาร์ดดิส 4 ตัว (แน่นอนว่า overkill แต่ใครสนใจล่ะ) พื้นที่สว็อปทั้งหมดสามารถ (ถอดรหัสและ) อ่านในเวลาน้อยกว่า 5 นาที:
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
การอ่านส่วนหนึ่งของพาร์ติชั่นต้องไม่ช้ากว่าการอ่านทุกอย่าง แต่การอ่านประมาณ 1 ใน 10 ของมันใช้เวลานานกว่าประมาณ 100 เท่า
ฉันสังเกตว่าระหว่างswapoff
ซีพียูนั้นส่วนใหญ่ไม่ได้ใช้งาน (อาจจะ 10% ของหนึ่งคอร์) และก็เป็นดิสก์ ("วัด" โดยไฟ LED) ฉันยังเห็นว่าพื้นที่สว็อปถูกปิดหนึ่งครั้ง
iostat -d 5
แสดง IO ต่ำบนดิสก์ในระหว่างการswapoff
ด้วยหรือไม่