การเพิ่มไฟล์ swap ใหม่ วิธีแก้ไข fstab เพื่อเปิดใช้งานการสลับหลังจากรีบูต?


50

ฉันได้ลบพาร์ติชั่นสว็อปของฉันเนื่องจากปัญหาการแบ่งพาร์ติชั่น ตอนนี้ฉันไม่มีพื้นที่สว็อปดังนั้นฉันได้สร้างไฟล์สว็อปด้วย:

dd if=/dev/zero of=/root/myswapfile bs=1M count=1024

หลังจากนี้swapon -s:

/root/myswapfile    file    1048572    1320    -1

ตอนนี้ฉันต้องการแก้ไข/etc/fstabเพื่อเปิดใช้งานไฟล์สลับหลังจากรีบูต


1
Swap บน SSD นั้นเป็นสาเหตุที่ทำให้เกิดอันตราย หมายความว่าคุณสามารถใช้ไดรฟ์ SSD ที่มีค่าและมีราคาแพงได้

2
สังเกตว่าbs=1G count=1จะให้ผลลัพธ์เดียวกันดูที่ dd manpageสำหรับหน่วยอื่น ๆ
LiveWireBT

คำตอบ:


79

สิ่งเหล่านี้เป็นขั้นตอนในการสร้าง swap บนไฟล์:

สร้างไฟล์ขนาดใหญ่เช่นกับ

sudo mkdir -p /var/cache/swap/   # create a directory that holds the swap file
sudo dd if=/dev/zero of=/var/cache/swap/myswap bs=1M count=4096 # for 4 GByte

แน่นอนว่าวิธีอื่นใดในการสร้างไฟล์ขนาดที่กำหนดจะทำ

ประกาศสลับกับระบบ

sudo chmod 0600 /var/cache/swap/myswap # only root should have access
sudo mkswap /var/cache/swap/myswap # format as swap
sudo swapon /var/cache/swap/myswap # announce to system

ใส่บรรทัดต่อไปนี้ใน/etc/fstabเพื่อสลับจากการบูตครั้งถัดไป:

/var/cache/swap/myswap    none    swap    sw    0   0

หมายเหตุ:ในกรณีที่คุณมีไฟล์ระบบของคุณบน SSD คุณอาจต้องการพิจารณาเก็บไฟล์ swap ไว้ในตำแหน่งฮาร์ดดิสก์

หมายเหตุเพิ่มเติม:คุณไม่สามารถใช้ไฟล์ swap สำหรับการจำศีล (ดูUbuntu SwapFaq )

หมายเหตุเพิ่มเติมสำหรับ Ubuntu> = 17.04:การแลกเปลี่ยนไฟล์/swapfileจะถูกสร้างขึ้นตามค่าเริ่มต้นในการติดตั้งใหม่ (เมื่อไม่มีพาร์ทิชัน swap อยู่) เราสามารถสร้าง swap partition ได้ด้วยตนเองในภายหลังถ้าต้องการ

ในกรณีที่เราต้องการแทนที่การแลกเปลี่ยนที่มีอยู่ (เช่นพาร์ติชัน) ด้วยการแลกเปลี่ยนอื่น (เช่นในไฟล์) เราจำเป็นต้องลบการแลกเปลี่ยนเก่าด้วย

sudo swapoff -a  # for all

จากนั้นลบรายการ swap ออก/etc/fstabหรือแทนที่ด้วย swap ใหม่ตามลำดับ


1
ทำไมคุณไม่ต้องการ swap บน SSD ด้วยล่ะ?
โจเซฟการ์วิน

1
@JosephGarvin: การเสื่อมสภาพอาจไม่เป็นปัญหาคุณยังเสียพื้นที่ดิสก์มาก (แพง) เมื่อมีการสลับบน SSD ขึ้นอยู่กับแรมของระบบคุณอาจไม่จำเป็นต้องสลับบ่อยเกินไป askubuntu.com/questions/178661/do-i-need-swap-with-new-ssd
Takkat

1
ขอบคุณคุณจะตรวจสอบได้อย่างไรว่าไฟล์/etc/fstabนี้จะทำการ mount ไฟล์อย่างถูกต้องโดยไม่ต้องบูตเครื่องใหม่ ฉันไม่สามารถดูไฟล์ swap ได้ถ้าฉันทำmount -a && mount
Don Giulio

2
@ user72464 swapon -sในการแสดงแลกเปลี่ยนทั้งหมดเราสามารถออก สลับที่มีอยู่ก็จะปรากฏfree -hขึ้น
Takkat

1
@ user72464 Simple .. domount -a
heemayl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.