Tăng RAM ảo cho VPS bằng Swap

Swap là RAM (bộ nhớ đệm) được lấy đổi từ ổ cứng. Nó được sử dụng khi RAM vật lý đã được sử dụng hết (hoặc hỗ trợ sử dụng song song) nhằm tăng dung lượng bộ nhớ đệm. Việc cài đặt SWAP trên Linux sẽ làm tăng độ an toàn của máy chủ vật lý (hoặc VPS)

Swap là RAM (bộ nhớ đệm) được lấy đổi từ ổ cứng. Nó được sử dụng khi RAM vật lý đã được sử dụng hết (hoặc hỗ trợ sử dụng song song) nhằm tăng dung lượng bộ nhớ đệm. Việc cài đặt SWAP trên Linux sẽ làm tăng độ an toàn của máy chủ vật lý (hoặc VPS)

Đương nhiên Khi cài đặt Swap thì dung lượng tương ứng sẽ bị trừ đi ở ổ cứng. Cụ thể, nếu dung lượng lưu trữ thực tế là 50GB, mà bạn cài đặt Swap là 5GB thì dung lượng lưu trữ sẽ còn 45GB. Đối với dịch vụ VPS giá rẻ thì dung lượng ổ cứng khá ít. Bạn cần cân đôi dung lượng đĩa cứng.

Swap được sử dụng khi hệ thống (server) của bạn quyết định rằng nó cần thêm bộ nhớ RAM cho quá trình hoạt động và bộ nhớ RAM (thật) không còn dư để sử dụng. Nếu điều đó xảy ra, các tài nguyên và dữ liệu tạm thời không hoạt động trên bộ nhớ RAM sẽ được di chuyển để lưu trữ vào không gian Swap để giải phóng bộ nhớ RAM và sử dụng cho việc khác.

Lưu ý rằng thời gian truy cập vào vùng Swap là chậm hơn rất nhiều so với Ram vật lý (ram thật), do đó bạn không nên coi việc sử dụng Swap là một phương pháp thay thế hoàn hảo cho bộ nhớ vật lý (RAM). Swap có thể là một phân vùng dành riêng cho Swap (khuyến nghị), một tập tin Swap hoặc một sự kết hợp của phân vùng và tập tin Swap.

1. 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.

 

2. Tạo swap

Sử dụng câu lệnh sau để tạo Ram ảo. Ở đây mình tạo 1GB swap (count=1024k) cho VPS 768MB RAM. Dung lượng Swap tối đa chỉ nên gấp đôi RAM vật lý.

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

Tạo phân vùng swap

mkswap /swapfile

Kích hoạt swap

swapon /swapfile

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

Kiểm tra lại Swap đã tạo

3. Cấu hình Swappiness (nếu cần thiết)

Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Swappiness có giá trị trong khoảng 0 – 100.

swappiness = 0: swap chỉ được dùng khi RAM được sử dụng hết.
swappiness = 10: swap được sử dụng khi RAM còn 10%.
swappiness = 60: swap được sử dụng khi RAM còn 60%.
swappiness = 100: swap được ưu tiên như là RAM.
Do tốc độ xử lý dữ liệu trên RAM cao hơn nhiều so với Swap, do đó bạn nên đặt giá trị này về gần với 0 để tận dụng tối đa sức mạnh hệ thống. Tốt nhất nên chỉnh về 10.

Kiểm tra mức độ sử dụng file swap của hệ thống bằng cách chạy dòng lệnh sau

cat /proc/sys/vm/swappiness

Chỉnh thông số swappiness bằng cách dùng lệnh sysctl

sysctl vm.swappiness=10

Để đảm bảo giữ nguyên thông số này mỗi khi khởi động lại VPS bạn cần điều chỉnh tham số vm.swappiness ở cuối file /etc/sysctl.conf (nếu không có bạn hãy add thủ công vào)

nano /etc/sysctl.conf

Thêm dòng sau vào cuối nếu chưa có, nếu có rồi thì update lại giá trị:

vm.swappiness = 10

Bài viết có tham khảo tại liệu tại:

Leave a Reply

Your email address will not be published. Required fields are marked *