Menu

Thursday, July 30, 2020

[Ubuntu] การสร้างพื้นที่ Virtual Memory บน Ubuntu
[Ubuntu] How to Create Virtual Memory on Ubuntu

Virtual memory เป็นหน่วยความจำบน Harddisk ที่ถูกใช้เสมือนว่าเป็น RAM โดยทำหน้าที่เก็บข้อมูลที่เป็น inactive page จาก RAM ในกรณีที่หน่วยความจำ RAM เต็ม

Swap เป็น Virtual memory บน Ubuntu

พื้นที่สำหรับ Swap นี้เป็นได้ทั้ง swap partition หรือ swap file โดยทั่วไปเมื่อรันบน Virtual machine จะไม่มี swap partition ให้ใช้งาน จึงเหลือเพียงทางเลือกเดียวคือ swap file

ขั้นตอนการสร้าง swap file เป็นดังนี้
  1. สร้างไฟล์พร้อมกำหนดขนาดพื้นที่ของไฟล์ตามขนาดที่ต้องการ
    sudo fallocate -l 1G /swapfile
    
  2. เปลี่ยน permission ของไฟล์ให้ root มีสิทธิ์ในการอ่านแและเขียนเท่านั้น
    sudo chmod 600 /swapfile
    
  3. กำหนดให้ใช้ไฟล์ข้างต้นเป็นพื้นที่สำหรับ Swap
    sudo mkswap /swapfile
    
  4. เปิดใช้งาน swap file
    sudo swapon /swapfile
    
สรุปรวมคำสั่งข้างต้นเป็นดังนี้
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

หมายเหตุ
  1. กรณีที่เราต้องการให้แสดง Swap ที่ใช้งานอยู่สามารถใช้คำสั่งดังนี้
    sudo swapon --show
  2. กรณีที่เราต้องการให้ Swap ของเราเป็นการตั้งค่าแบบถาวร ให้เปิดไฟล์ /etc/fstab แล้วใส่บรรทัดข้างล่างนี้
    /swapfile swap swap defaults 0 0
    หรือรันคำสั่งข้างล่างนี้ได้เลย โดยไม่ต้องเปิดไฟล์
    sudo echo "/swapfile swap swap defaults 0 0" >>  /etc/fstab

กรณีที่ต้องการลบ Swap ทิ้ง มีขั้นตอนดังนี้
  1. ปิดใช้งาน swap file
    sudo swapoff -v /swapfile 
    
  2. กรณีที่เราตั้งค่าให้ Swap ของเราเป็นการตั้งค่าแบบถาวร เราต้องแก้ไขไฟล์ /etc/fstab แล้วลบบรรทัดข้างล่างนี้
    /swapfile swap swap defaults 0 0
    
  3. ลบ swap file
    sudo rm /swapfile

No comments:

Post a Comment