สำหรับผมแล้วไฟล์ swap นั้นมีความยืดหยุ่นมากกว่า
สำหรับผมแล้วไฟล์ swap นั้นมีความยืดหยุ่นมากกว่า
คำตอบ:
ไฟล์ swap มีความยืดหยุ่นมากขึ้น แต่ยังสามารถใช้งานได้มากกว่าพาร์ทิชัน swap ข้อผิดพลาดของระบบไฟล์อาจทำให้ไฟล์ swap เสียหายได้ ไฟล์สลับอาจเป็นปัญหาสำหรับผู้ดูแลระบบเนื่องจากไม่สามารถย้ายหรือลบไฟล์ได้ ไม่สามารถใช้ไฟล์ swap สำหรับการจำศีล ไฟล์สวอปนั้นช้าลงเล็กน้อยในอดีตแม้ว่าความแตกต่างจะเล็กน้อยในทุกวันนี้
ข้อดีของไฟล์ swap คือไม่ต้องตัดสินใจขนาดล่วงหน้า อย่างไรก็ตามภายใต้ Linux คุณยังไม่สามารถปรับขนาดไฟล์สลับออนไลน์ได้: คุณต้องยกเลิกการลงทะเบียนปรับขนาดแล้วลงทะเบียนใหม่ (หรือสร้างไฟล์อื่นและลบไฟล์เก่า) ดังนั้นจึงไม่มีประโยชน์อย่างมากสำหรับไฟล์ swap ใน Linux เมื่อเปรียบเทียบกับพาร์ติชั่น swap มันมีประโยชน์เป็นหลักเมื่อคุณต้องการหน่วยความจำเสมือนเพิ่มเติมชั่วคราวมากกว่าเป็นอุปกรณ์ติดตั้งถาวร
สามารถเลือกพาร์ติชัน swap ได้เนื่องจากจะหลีกเลี่ยงการพึ่งพาระบบไฟล์เมื่อสิ่งที่คุณต้องการคือพูลหน่วยความจำที่กำหนดแอดเดรสได้
แต่ไม่มีอะไรป้องกันคุณจากการใช้ไฟล์สลับแทนการสลับพาร์ติชันหรือนอกเหนือจากการแลกเปลี่ยนพาร์ติชัน
สร้างไฟล์:
dd if=/dev/zero of=/extraswap bs=1M count=512
เริ่มต้นเนื้อหาของไฟล์:
mkswap /extraswap
ใช้มัน:
swapon /extraswap
ดูว่ามันทำงาน:
free -m
เพื่อเริ่มใช้ swapfile ทุกครั้งที่บูตให้แก้ไข / etc / fstab และเพิ่ม
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
ในเทอร์มินัลถ้าจู่ๆฉันต้องการพื้นที่สว็อปพิเศษ:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
บางทีเหตุผลหลักคือเคอร์เนลหลักหยุดการทำงานกับดิสก์ไม่ทำงานกับไฟล์สลับ ตัวอย่างเช่นคำแนะนำของวิกิพีเดีย Debianคือการติดตั้งuswsusp
หากคุณต้องการสิ่งนี้
เมื่อเร็ว ๆ นี้ไฟล์สลับจะไม่ทำงานหากระบบไฟล์อยู่btrfs
ดังนั้นจึงเป็นการง่ายที่สุดสำหรับการแจกแจงเพื่อสร้าง swap เป็นพาร์ติชันเสมอ
มีการกล่าวถึงอย่างคลุมเครือว่าการใช้ไฟล์สำหรับการแลกเปลี่ยนมีประสิทธิภาพต่ำกว่าพาร์ติชันก่อนหน้าเคอร์เนลเวอร์ชัน 2.6 https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
เพื่อความสมบูรณ์ฉันจะเพิ่มคำตอบของฉันเอง:
ตามที่กล่าวโดย @Gilles ไฟล์ swap ไม่สามารถใช้สำหรับการจำศีล เมื่อใช้ไฟล์ swap ระบบจะต้องค้นหาส่วนหัวของไฟล์ swap แต่ในการทำเช่นนี้ระบบไฟล์ที่มีไฟล์ swap จะต้องติดตั้งและระบบไฟล์ที่ถูกเจอร์นัล - เช่น ext3, ext4 และโดยทั่วไประบบไฟล์ทั้งหมดที่ใช้โดย Linux - ไม่สามารถเมานต์ระหว่างดำเนินการต่อจากดิสก์ (ในความเป็นจริงมีวิธีการทำเช่นนั้น แต่ค่อนข้างยุ่งยาก)
ที่มา: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
ฉันคิดว่าส่วนใหญ่เป็นเพราะเวลาในการเข้าถึงข้อมูลที่อยู่ในพาร์ติชันลดลง จุดประสงค์ของไฟล์ swap นั้นช่วยให้ผู้ดูแลระบบ sys ทำงานเมื่อเขาไม่ได้ใช้ RAM จริงๆและจำเป็นต้องมีการใช้งานจำนวนมากซึ่งอาจจะทำให้ระบบของเขาพัง ในกรณีนี้เขาจะสร้างไฟล์สลับเป็นระยะเมื่อต้องการ
แต่อย่างไรก็ตามคุณสามารถมีได้ทั้งคู่