ฉันจะสร้างไฟล์สลับได้อย่างไร?


11

ฉันรู้วิธีสร้างและใช้ swap partition แต่ฉันสามารถใช้ไฟล์แทนได้หรือไม่

ฉันจะสร้างไฟล์สลับบนระบบ Linux ได้อย่างไร

คำตอบ:


18

ให้ชัดเจนว่ามีค่าใช้จ่ายเล็กน้อยเมื่อจัดการกับไฟล์แทนพาร์ทิชัน

นอกจากนี้ฉันเองมีไฟล์ swap สำหรับเครื่องหลายเครื่องในmdadmRAID ดังนั้นจึงมีค่าใช้จ่ายอื่น แต่ถ้าคุณปรับvm.swappinessอย่างชาญฉลาดเป็นค่าที่ยอมรับได้มากกว่า 60 ซึ่งเป็นค่าเริ่มต้นคุณไม่ควรมีปัญหา

ตัวอย่างเช่นฉันมีเซิร์ฟเวอร์ RAM 32GB พร้อมไฟล์สลับขนาด 32GB บน RAID6 ที่มีvm.swappiness= 1 การอ้างอิง Wikipedia:

vm.swappiness = 1: เคอร์เนลเวอร์ชัน 3.5 ขึ้นไปรวมถึงเคอร์เนล Red Hat เวอร์ชัน 2.6.32-303 และสูงกว่า: การแลกเปลี่ยนขั้นต่ำโดยไม่ต้องปิดการใช้งานทั้งหมด

ในตัวอย่างนี้เราสร้างไฟล์สลับ:

  • ขนาด 8GB

  • ตั้งอยู่ที่ /raid1/

เปลี่ยนสองสิ่งนี้ตามความต้องการของคุณ

  1. เปิดเทอร์มินัลแล้วกลายเป็นroot( su); ถ้าคุณได้sudoเปิดใช้งานคุณอาจทำเช่นsudo -i; ดูman sudoตัวเลือกทั้งหมด):

    sudo -i
    
  2. จัดสรรพื้นที่สำหรับแลกเปลี่ยนไฟล์:

    dd if=/dev/zero of=/raid1/swapfile bs=1G count=8
    

    เป็นทางเลือกถ้าระบบของคุณรองรับคุณอาจเพิ่มลงstatus=progressในบรรทัดคำสั่งนั้น

    โปรดทราบว่าขนาดที่ระบุในที่Gนี้อยู่ใน GiB (ทวีคูณจาก 1024)

  3. เปลี่ยนการอนุญาตของไฟล์ swap เพื่อให้rootสามารถเข้าถึงได้เท่านั้น:

    chmod 600 /raid1/swapfile
    
  4. ทำให้ไฟล์นี้เป็นไฟล์สลับ:

    mkswap /raid1/swapfile
    
  5. เปิดใช้งานไฟล์สลับ:

    swapon /raid1/swapfile
    
  6. ตรวจสอบว่ามีการใช้ไฟล์ swap หรือไม่:

    cat /proc/swaps
    
  7. เปิดโปรแกรมแก้ไขข้อความที่คุณมีความเชี่ยวชาญในไฟล์นี้เช่นnanoหากไม่แน่ใจ:

    nano /etc/fstab
    
  8. ในการทำให้ไฟล์ swap นี้พร้อมใช้งานหลังจากรีบูตให้เพิ่มบรรทัดต่อไปนี้:

    /raid1/swapfile        none        swap        sw        0        0
    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.