ฉันใช้ Ubuntu 10.04 (64 บิต) สำหรับเดสก์ท็อปของฉัน
เครื่องมี RAM ขนาด 5GB
ฉันต้องการใช้ RAM disk (1G หรือ 2G) แต่ฉันไม่รู้ว่าจะทำอย่างไร
มีผลิตภัณฑ์ opensource ของ RAM disk หรือไม่
ฉันใช้ Ubuntu 10.04 (64 บิต) สำหรับเดสก์ท็อปของฉัน
เครื่องมี RAM ขนาด 5GB
ฉันต้องการใช้ RAM disk (1G หรือ 2G) แต่ฉันไม่รู้ว่าจะทำอย่างไร
มีผลิตภัณฑ์ opensource ของ RAM disk หรือไม่
คำตอบ:
เทคโนโลยีถูกสร้างไว้ในเคอร์เนลคุณไม่จำเป็นต้องมีเครื่องมือเพิ่มเติม ในความเป็นจริงคุณมีดิสก์ RAM ไม่กี่อัน (ซึ่งคุณไม่ควรใช้มันมีไว้สำหรับระบบ) ซึ่งคุณสามารถดูได้โดยทำ
grep -w tmpfs /proc/mounts
หากต้องการตั้งค่าดิสก์ RAM 2GB ที่เมาท์อยู่/ramdisk
ให้เพิ่มบรรทัดต่อไปนี้เป็น/etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
จากนั้นติดตั้งดิสก์ด้วยคำสั่งmount /ramdisk
(สิ่งนี้จะทำโดยอัตโนมัติเมื่อคุณรีบูต)
ขนาดที่ระบุคือสูงสุดดิสก์จะใช้หน่วยความจำเท่าไฟล์ที่อยู่ในนั้นเท่านั้น
คุณสามารถเปลี่ยน/tmp
เป็นดิสก์ RAM ได้ ใน/etc/fstab
บรรทัดด้านบนใส่/tmp
แทน/ramdisk
แล้วรีบูต
ครั้งแรกที่คุณรีบูตหลังจากเปลี่ยน/tmp
เป็นดิสก์ RAM ไฟล์ที่อยู่ใน/tmp
นั้นจะถูกซ่อนไว้ ไม่เป็นอันตรายยกเว้นว่าพวกเขากำลังสูญเสียพื้นที่ดิสก์เล็กน้อย คุณสามารถทำความสะอาดได้ ( หลังจากรีบูท/tmp
บนดิสก์ RAM) โดยทำ
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
mount --bind
คำสั่งที่ทำให้/mnt
มุมมองที่ซ้ำกันของระบบแฟ้มรากของคุณ แต่ในขณะที่ RAM ดิสก์ตอนนี้ปิดกั้นในมุมมองรากไม่มีอะไรซ่อนเร้น/tmp
/mnt/tmp
เพิ่ม : คุณสามารถเปลี่ยน/tmp
เป็นดิสก์ RAM ได้โดยไม่ต้องรีบูตเครื่องมันซับซ้อนกว่านี้เล็กน้อย เพิ่มบรรทัด/etc/fstab
เป็นข้างต้นแล้วเรียกใช้คำสั่งต่อไปนี้:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
จากนั้นลบ/tmp.old
หลังจากรีบูตครั้งต่อไป
เหตุผลที่คุณไม่สามารถย้ายไฟล์จาก/tmp.old
ไปยังได้/tmp
คือบางโปรแกรมที่สำคัญมีไฟล์เปิดอยู่/tmp
ตัวอย่างเช่น/tmp/.X11-unix/X0
เซิร์ฟเวอร์ X รอฟังและทุกโปรแกรม GUI จะเปิดขึ้นเมื่อเริ่มทำงาน การย้ายไฟล์ไปยังระบบไฟล์อื่นหมายถึงการคัดลอกและลบไฟล์เก่าดังนั้นคุณจะจบลงด้วยเซิร์ฟเวอร์ X ที่ยังคงฟังอยู่/tmp.old/.X11-unix/X0
แต่ไคลเอนต์ X ที่ติดต่อ/tmp/.X11-unix/X0
ด้วยเปล่า ๆ บนเซิร์ฟเวอร์คุณอาจหนีไปด้วยความระมัดระวัง
/tmp
tmpfs
ไม่จำเป็นและฉันได้แก้ไขคำตอบของฉันเพื่ออธิบายวิธีการใช้ แต่มีความซับซ้อนมากขึ้น ไม่มีmkfs
ส่วนเกี่ยวข้องเพราะไม่มีที่เก็บข้อมูลพื้นฐานที่จะต้องเตรียมเคอร์เนลจัดการทุกอย่าง
/tmp
บนดิสก์เพิ่มความถี่ของการซิงค์) แต่นี่เป็นความรู้สึกส่วนตัวที่ไม่น่าเชื่อถือ ฉันไม่เคยลองเปรียบเทียบ