Swap là khái niệm bộ nhớ ảo được sử dụng trên hệ điều hành Linux. Khi VPS/Server hoạt động, nếu hết RAM hệ thống sẽ tự động sử dụng một phần ổ cứng để làm bộ nhớ cho các ứng dụng hoạt động. Với những máy chủ không có Swap, khi hết RAM hệ thống thường tự động stop service MySQL, do đó hay xuất hiện thông báo lỗi Establishing a Database Connection.

Tạo và kích hoạt Swap

Với các VPS dùng công nghệ ảo hóa OpenVZ, có thể bạn sẽ không tạo được Swap do hệ thống đã tự động kích hoạt sẵn.

Hướng dẫn tạo Swap

Áp dụng được cả trên CentOSUbuntu.

Kiểm tra Swap

Trước khi tiến hành tạo file Swap cần kiểm tra xem hiện tại hệ thống đã kích hoạt Swap hay chưa bằng cách chạy:

swapon -s

Nếu không có thông tin gì hoặc trả về như hình dưới chứng tỏ server chưa có Swap và bạn có thể tạo.

Kiểm tra dung lượng trống

Sử dụng lệnh df -h để kiểm tra dung lượng trống.

Tạo Swap

Ví dụ ở đây mình tạo 1 GB Swap (count=1024k).

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Lệnh trên sẽ tạo Swap có dung lượng 1 GB. Bạn có thể thay count=1024k bằng count=2048k để tạo Swap dung lượng 2 GB. Dung lượng Swap tối đa chỉ nên gấp đôi RAM vật lý.

Tạo phân vùng Swap:

mkswap /swapfile

Kích hoạt Swap:

swapon /swapfile

Đoạn này có thể gặp thông báo warning insecure permissions 0644, không sao cả bạn cứ bỏ qua. Chúng ta sẽ chỉnh lại ở bước sau.

Kiểm tra lại tình trạng Swap bạn sẽ thấy như sau:

swapon -s

Thiết lập Swap tự động được kích hoạt mỗi khi reboot:

echo /swapfile none swap defaults 0 0 >> /etc/fstab

Bảo mật file Swap bằng cách chmod:

chown root:root /swapfile 
chmod 0600 /swapfile

Chúc các bạn thành công!