−25%

cho Windows trả theo năm, đến 31/10. Xem các gói

EQVPS

Cách thêm tệp swap trên VPS Linux

Tạo tệp swap bằng năm lệnh, giữ nó sau khi khởi động lại và chỉnh swappiness, kèm lượng swap nên thêm và khi nào giải pháp thật sự là thêm RAM.

Máy chủ nhỏ hết bộ nhớ vào lúc tệ nhất: một lần apt upgrade, một lần build Docker, bản sao lưu lúc nửa đêm. Không có swap, OOM killer của kernel sẽ chọn một tiến trình và buộc dừng nó, thường là cơ sở dữ liệu của bạn. Tệp swap là một chiếc dây an toàn rẻ tiền cho những đợt tăng đột biến ấy một lối thoát. Chỉ cần năm lệnh.

1. Kiểm tra hiện trạng

swapon --show
free -h

Nếu swapon --show không in ra gì, nghĩa là chưa có swap.

2. Tạo tệp swap

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

chmod 600 rất quan trọng: swap có thể chứa các mảnh của bất cứ thứ gì từng nằm trong bộ nhớ, kể cả bí mật, nên chỉ root được đọc. Nếu fallocate báo lỗi “operation not supported”, hãy dùng dd thay thế:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Làm cho nó cố định

Thiếu bước này, swap sẽ biến mất sau khi khởi động lại:

echo '/swapfile none swap sw 0 0' >> /etc/fstab

4. Chỉnh swappiness

Yêu cầu kernel ưu tiên RAM và chủ yếu dùng swap khi chịu áp lực:

echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system

5. Kiểm tra lại

swapon --show
free -h

Bạn sẽ thấy một thiết bị swap 2 GB, và cat /proc/sys/vm/swappiness sẽ in ra 10.

Kích thước bao nhiêu?

Đừng chọn swap theo kiểu “gấp đôi RAM”. Trên máy chủ, swap dùng để hấp thụ các đợt tăng ngắn, không phải để chạy những tác vụ không vừa bộ nhớ.

Khi swap không phải là câu trả lời

Theo dõi nó trong vài ngày:

vmstat 5

Các cột si và so cho biết số trang được đọc từ swap và ghi vào swap mỗi giây. Thỉnh thoảng có hoạt động là bình thường. Giá trị khác 0 liên tục nghĩa là máy chủ thiếu bộ nhớ và mọi thứ đang chờ đĩa. Lúc đó giải pháp là thêm RAM: xem VPS cần bao nhiêu RAM. Tại EQVPS bạn có thể chuyển lên gói lớn hơn mà không cần cài lại; dữ liệu của bạn vẫn nằm nguyên chỗ cũ.

Liên quan

FAQ

Tôi nên thêm bao nhiêu swap?

Trên máy chủ có 1–2 GB RAM, tệp swap 1–2 GB là mặc định tốt. Trên máy chủ lớn hơn, 1–2 GB vẫn đủ làm lưới an toàn: quy tắc “gấp đôi RAM” có từ thời máy 256 MB.

Swap có làm máy chủ của tôi nhanh hơn không?

Không. Swap chỉ ngăn sự cố khi bộ nhớ cạn trong chốc lát: cập nhật gói, build Docker, sao lưu. Trang bộ nhớ trên đĩa chậm hơn RAM hàng nghìn lần. Nếu máy chủ dùng swap liên tục, nó cần thêm RAM.

Swappiness dùng để làm gì?

Nó quyết định kernel sẵn lòng chuyển bộ nhớ nhàn rỗi sang swap tới mức nào. Giá trị mặc định 60 làm việc đó khá sớm; 10 bảo kernel giữ dữ liệu trong RAM và chủ yếu dùng swap khi thực sự chịu áp lực, phù hợp với hầu hết máy chủ.

Vì sao dùng tệp swap chứ không phải phân vùng?

Một tệp có thể được tạo, đổi kích thước và xóa trong vài giây khi máy chủ đang chạy, không cần động tới bảng phân vùng. Hiệu năng là như nhau trên các hệ thống tệp hiện đại.

Sau này làm sao gỡ swap?

Chạy 'swapoff /swapfile', xóa dòng /swapfile trong /etc/fstab, rồi chạy 'rm /swapfile'.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.