Cách tạo swap file trên Ubuntu

Author

Thâm / January 02, 2023

4 min read––– lượt xem

Trước khi bắt đầu

Swap không phải là sự thay thế cho bộ nhớ vật lý, nó là một phần của ổ đĩa, chính vì thế nó có thời gian truy cập chậm hơn bộ nhớ vật lý. Nếu hệ thống của bạn liên tục hết bộ nhớ, bạn nên bổ sung thêm RAM.

Các thao tác của mình được thực hiện trên Ubuntu 20.04

Chỉ root hoặc user nằm trong sudo privileges mới được phép tạo swap file.

Tạo một Swap File

Tại sao chúng ta cần swap?

Có một tình huống hết sức cảm động như thế này. Bạn đang chạy một hệ thống săn voucher, trong các ngày bình thường thì lượng user truy cập không nhiều vì có voucher đâu mà săn 😛 

Bỗng dưng tới ngày 12.12, hay các ngày số đẹp mà tiki hay lazada hay dụ các bạn vào hệ thống để săn sale ấy, thì lượng truy cập tăng đột biến và đây là cấu hình server của bạn,

  • ổ cứng: 40GB
  • RAM: 2GB

khiến cho RAM server của bạn ngỏm củ tỏi dẫn tới việc sập hệ thống. Tới đây các bạn đã thấy cảm động chưa 😅

Nguyên nhân sập hệ thống thì đã rõ, là do hết dung lượng RAM, vậy làm sao để giải quyết vấn đề này?

  • Mua thêm 2GB RAM → 4GB
  • Tận dụng swap space → we are here, chúng ta sẽ mượn của ổ đĩa 2GB để tạo swap space, server sẽ sử dụng dung lượng mình đã swap này khi RAM đạt tới ngưỡng nhất định gọi là swappiness, mình sẽ nói ở phần dưới nhé.

Lưu ý đây là cách giải quyết tạm thời đề phòng server sập thôi nhé, đối với mình thì cách đầu tiên là ngon nhất, vì nó tận dụng tối đa sức mạnh của RAM

Trong bài này, mình sẽ tạo swap file 2GB. Nếu bạn muốn tạo nhiều hơn thì thay 2G thành con số bạn mong muốn.

  1. Tạo swap file:
sudo fallocate -l 2G /swapfile
  1. Set quyền cho file để user không nằm trong sudo không đọc và ghi file:
sudo chmod 600 /swapfile
  1. Thiết lập swapfile dưới dạng vùng hoán đổi Linux:
sudo mkswap /swapfile

Output

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8
  1. Sau khi tạo thì enable nó lên để sử dụng nhé
sudo swapon /swapfile

Để thực hiện thay đổi vĩnh viễn, hãy mở tệp /etc/fstab và thêm dòng sau:

/swapfile swap swap defaults 0 0
  1. Xác nhận swap file đã được enable hay chưa:
sudo swapon --show

Output

NAME      TYPE      SIZE  USED PRIO
/swapfile file        2G    0B   -1
sudo free -h

Output

              total        used        free      shared  buff/cache   available
Mem:          981Mi        97Mi        68Mi       0.0Ki       814Mi       735Mi
Swap:         2.0Gi        10Mi       1.9Gi

Điều chỉnh giá trị swap - swappiness

Swappiness cho phép chúng ta thiết lập thông số để Linux sử dụng swap space, trên Ubuntu giá trị này mặc định là 60, bạn kiểm tra bằng lệnh dưới đây:

cat /proc/sys/vm/swappiness

Vậy làm thế nào để sửa?

sudo vim /etc/sysctl.conf
# Sau đó thêm cuối dòng
vm.swappiness=90

# Chạy lệnh dưới đây để reload lại config ở trên nhé
sudo sysctl -p /etc/sysctl.conf

Xoá swap file

sudo swapoff -v /swapfile
sudo rm /swapfile

💌 Lời cảm ơn

Cảm ơn các bạn đã theo dõi hết bài 😍. Trên đây là toàn bộ những gì chưa sẻ về Cách tạo swap file trên Ubuntu hy vọng nó giúp bạn phần nào trong hành trình code của bạn. 💪

Đăng ký nhận thông báo qua email khi có bài viết mới

0 người đăng ký