swap partition เทียบกับไฟล์ swap


47

ฉันอ่านการเปลี่ยนแปลงใหม่กับ Ubuntu 17.04 และสิ่งหนึ่งที่จับตามองของฉันซึ่งกำลังเปลี่ยนจากรูปแบบพาร์ทิชัน swap ทั่วไปไปเป็นรูปแบบไฟล์ swap ใหม่สำหรับการติดตั้งใหม่

มีประโยชน์สำหรับการใช้สิ่งนี้เมื่อเทียบกับพาร์ทิชัน swap อาจเกี่ยวข้องหรือในแง่ของประสิทธิภาพการประหยัดพื้นที่มากขึ้นสอดคล้องกับฮาร์ดแวร์ในปัจจุบันเช่น SSD และ NVMe หรืออย่างอื่น?

คำถามที่เกี่ยวข้องอีกข้อหนึ่งคือฉันจะย้ายจากพาร์ติชั่นสลับไปยังไฟล์สลับได้อย่างไร? ฉันเดาว่าจะใช้ dd แต่ต้องการยืนยันเนื่องจากฉันไม่รู้เกี่ยวกับชุดรูปแบบไฟล์สลับจนถึงตอนนี้

และท้ายที่สุดการจำศีลจะเป็นปัญหาของไฟล์ swap หรือไม่?

แน่นอนคำถามเหล่านี้อาจเกี่ยวข้องกับกรณีที่ผู้ใช้มี RAM จำนวนมากและไม่ค่อยมีการใช้การแลกเปลี่ยน (ฉันเดา) ดังนั้นเพียงเพื่อยืนยันว่าข้อมูลนี้จะช่วยฉันและผู้อื่นด้วยความสงสัยเดียวกัน


เกี่ยวกับคำถามที่เกี่ยวข้อง: askubuntu.com/questions/903414/... (ถ้ามันไม่เคยได้รับการตอบ)
Muru

digitalocean.com/community/tutorials/… - ฉันไม่สามารถพูดได้ว่ามันสร้างความแตกต่างได้ฉันทำไม่ได้จริงๆ ระบบทำงานได้ดีเหมือนเมื่อก่อน (การสลับไม่ได้ถูกใช้บ่อย)

นี่คือวิธีการเพิ่มการแลกเปลี่ยนไฟล์ ใน 17.04 /swapfileมันเป็นไฟล์ การไฮเบอร์เนตอาจเป็นปัญหา
Takkat

muru @CelticWarrior Takkat ขอบคุณสำหรับลิงค์และข้อมูลพวก มีประโยชน์มากจริง ๆ ถ้าเป็นไปได้เซลติกถ้าคุณสามารถโปรดเพิ่มคำตอบเฉพาะที่นี่ใน AskUbuntu ในกรณี สำหรับทุกคนตรวจสอบให้แน่ใจว่าคำตอบนั้นเป็นข้อมูลล่าสุด (ไม่ใช่ 2012 แต่จริง ๆ แล้ว 2016-2017 เมื่อไฟล์ swap ทั้งหมดเริ่มต้นขึ้น) จะช่วยได้มากและหลีกเลี่ยงสิ่งที่เกิดขึ้นในช่วงเวลานั้นที่มีการเปลี่ยนแปลง
Luis Alvarado

1
หากคุณมีการเข้ารหัสพาร์ติชั่นรูทการสลับไฟล์จะถูกเข้ารหัสเช่นกัน - โดยอัตโนมัติ ไม่จำเป็นต้องทำอะไรเป็นพิเศษ ดังนั้นจึงเป็นการปรับปรุงสำหรับผู้ใช้ทั่วไปซึ่งอาจลืมเข้ารหัสการสลับ
Maris B.

คำตอบ:


34

ข้อได้เปรียบเพียงอย่างเดียวของ swapfile ก็คือมันง่ายต่อการปรับขนาดดังนั้นจึงไม่มีอะไรมากในการเปลี่ยนเว้นแต่คุณจะไม่พอใจกับขนาดพาร์ติชั่นการแลกเปลี่ยนของคุณ

การสลับไฟล์แบบดั้งเดิมนั้นไม่รองรับด้วยเหตุผลหลายประการ swapfile ที่ใช้จะช้าลงก่อน Linux v2.4และอาจยังช้าลงหากคุณสร้าง swapfile บนระบบไฟล์แบบแยกส่วน คุณอาจจะมีโอกาสมากขึ้นที่จะพบบั๊กหน่วยความจำด้วย swapfiles ตัวอย่างเช่น catch-22s ซึ่งคุณไม่สามารถจัดสรรหน่วยความจำเพิ่มเติมได้จนกว่าคุณจะสลับออกไป แต่ระบบไฟล์จำเป็นต้องจัดสรรก่อนที่คุณจะสามารถแลกเปลี่ยนได้ ไม่กี่ปีหลังการจำศีลเพื่อแลกเปลี่ยนเป็นคุณสมบัติใหม่ที่ขัดแย้งกันด้วยเหตุผลที่คล้ายกัน หลายปีที่ผ่านมาเมื่อระบบไฟล์ยังมีข้อผิดพลาดเล็กน้อย (และไม่ได้ทำเจอร์นัลไว้) มันไม่ฉลาดที่จะเขียนระบบไฟล์สำคัญ ๆ จำนวนมากเมื่อคุณสามารถใช้ swapfile แทนได้ ตามค่าเริ่มต้นของประเพณีนั้นพาร์ติชัน swap ได้รับการทดสอบมากกว่า swapfiles สันนิษฐานว่า Canonical คิดว่าปัญหาเหล่านี้ไม่น่ากังวลอีกต่อไป

เหตุผลที่ดีที่สุดที่จะไม่เปลี่ยนไปใช้ swapfile คือ "ทำไมต้องแก้ไขบางสิ่งที่ไม่เสียหาย" หากคุณไม่ได้สำรองข้อมูลพาร์ติชันหลักของคุณและลบโดยไม่ตั้งใจ/homeแทน swapfile ของคุณมันอาจจะเป็นเรื่องยุ่งยากที่จะลองกู้คืนมา

อีกเหตุผลที่ไม่เปลี่ยนเป็น swapfiles คือถ้าคุณใช้btrfsซึ่งไม่รองรับ swapfiles (ยกเว้นผ่านไฟล์ลูปแบ็คช้า)


แม้ว่าคุณจะตัดสินใจเลือกใช้ไฟล์ swap แต่ก็ไม่จำเป็นต้องลบพาร์ติชั่น swap เว้นแต่ว่าคุณจะมีพื้นที่ จำกัด คุณสามารถใช้ทั้งสองอย่างในเวลาเดียวกันหากคุณต้องการ ถ้าคุณตัดสินใจที่จะลบพาร์ทิชัน swap เป็นครั้งแรกของการบูตทั้งหมดที่มีอูบุนตู LiveCD try without installingและไป จากนั้นในการรันเทอร์มินัลgpartedให้ลบพาร์ติชัน swap และปรับขนาดพาร์ติชั่นที่เหลือ (ทำการสำรองข้อมูลก่อนอาจเป็นความคิดที่ดี)

ตอนนี้ให้รีบูทติดตั้ง Ubuntu ตามปกติของคุณแล้วสร้าง swapfile เนื่องจากข้อดีของ swapfile คือปรับขนาดได้ง่ายคุณอาจต้องการใช้ SwapSpace เพื่อจัดการขนาดของ swapfile ของคุณ:

sudo apt install swapspace

คุณสามารถสร้าง swapfile ด้วยตนเองโดยทำตามคำแนะนำได้ที่: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

หากต้องการตัดเรื่องสั้นที่มีขนาดยาวคุณสามารถสร้าง swapfile ขนาด 1G ได้โดยวางสิ่งต่อไปนี้ลงในเทอร์มินัล

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

หากได้ผลคุณสามารถทำให้เป็นถาวรได้โดยทำ:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

จำเป็นต้องมีการอ้างอิง Hmmm .... ไม่แน่ใจเกี่ยวกับอาร์กิวเมนต์ระบบไฟล์ของ buggy ว่าคุณกำลังย้อนกลับไปอีกนานแค่ไหน ... ? สำหรับการจับ 22 oomkiller จะแยกออกเป็นระดับ - การจัดสรรขนาดเล็กควรทำให้เกิดการฆ่าขนาดเล็กและฉันจะประหลาดใจถ้าการแลกเปลี่ยนผ่าน fs ไม่มีบัฟเฟอร์กระจ้อยร่อยที่พร้อมสำหรับเหตุการณ์ดังกล่าว ....
taifwa

5
10+ ปีที่ผ่านมาคำแนะนำทั่วไปคือการใส่ swap / usr / home และ / var ทั้งหมดบนพาร์ติชันที่แตกต่างกันเพื่อให้ถ้าหนึ่งในนั้นเสียหายตัวเองคุณสามารถกู้คืนจากคนอื่น นั่นอาจเป็นก่อนที่การบันทึกเป็นเรื่องธรรมดา ระบบไฟล์ยังคงมีข้อบกพร่อง แต่ความหวาดระแวงอาจใช้เวลาในการสำรองข้อมูลในที่ที่ ransomware ไม่สามารถเข้าถึงได้
gmatht

1
@taifwa ฉันได้เพิ่มลิงก์ไปยังคำถามที่พบบ่อยของ btrfs ที่พวกเขาไม่สนับสนุนการเข้าถึง swapfile อย่างรวดเร็ว (เพราะพวกเขาไม่แน่ใจว่าจะใช้งานได้อย่างไรโดยไม่เกิดความเสียหาย) และโปรดทราบว่าเหตุผลที่ดีที่สุดที่จะไม่เปลี่ยน หัก สิ่งนี้ช่วยได้ไหม?
gmatht

1
@ gmatht คุณครอบคลุมทุกอย่างที่นั่นด้วยวิธีที่ดีมาก หากคุณพบข้อมูลใหม่ ๆ ในเดือน / ปีถัดไปที่จะมาพร้อมกับไฟล์ swap แจ้งให้เราทราบโดยอัพเดทคำตอบนี้ รุ่งโรจน์และงานที่ยอดเยี่ยม
Luis Alvarado

3
@PabloBianchi มันสามารถทำได้ แต่ฉันต้องการ swap ใน SSD วันนี้ การใส่ swap ในดิสก์หมุนสามารถเพิ่มการสึกหรอได้เช่นกัน SSD สมัยใหม่ไม่ควรเสื่อมสภาพเร็วกว่าดิสก์แบบหมุน
gmatht
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.