2. Kiểm tra dung lượng trống
Sử dụng lệnh df -h để kiểm tra dung lượng trống. Còn 13GB, vẫn thoải mái để tạo swap:
3. Tạo swap
– Chạy lệnh dd. Ở đây mình tạo 1GB swap (count=1024k) cho VPS 768MB RAM
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
Lệnh trên sẽ tạo swap có dung lượng 1Gb. Bạn có thể thay count=1024k bằng count=2048k… để tạo swap dung lượng 2Gb. 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
4. Cấu hình Swappiness
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.
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
– Kiểm tra lại bạn sẽ thấy kết quả trả về 10
cat /proc/sys/vm/swappiness
Để đả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ì up-date lại giá trị:
vm.swappiness = 10
Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.
– Khởi động lại VPS và kiểm tra lại kết quả:
swapon -scat /proc/sys/vm/swappiness
Xóa file Swap
Nếu bạn cho rằng VPS hoặc máy tính để bàn của bạn có đủ RAM để sử dụng và bạn không cần sử dụng Swap, bạn có thể dễ dàng loại bỏ không gian swap ra khỏi hệ thống. Để loại bỏ không gian swap ra khỏi hệ thống, bạn có thể làm ngược lại quá trình mà bạn đã tạo ra chúng.
- Mở file /etc/fstab:
sudo nano /etc/fstab
- Xóa dòng sau và lưu file này lại:
/swapfile swap swap defaults 0 0
- Tiếp theo, bạn chỉ cần tắt swap và xóa file swap trên hệ thống:
sudo swapoff /swapfile && sudo rm /swapfile
Vậy là xong. Bạn không cần phải khởi động lại nhé.
Lưu ý
– Với CentOS 7.2 có thể tune profile sẽ overwrite vm.swappiness mỗi lần reboot, bạn cần kiểm tra profile nào đang overwrite để cấu hình lại thủ công.
grep vm.swappiness /usr/lib/tuned/*/tuned.conf
Output có thể như sau:
[root@tdv ~]# grep vm.swappiness /usr/lib/tuned/*/tuned.conf/usr/lib/tuned/latency-performance/tuned.conf:vm.swappiness=10/usr/lib/tuned/throughput-performance/tuned.conf:vm.swappiness=10/usr/lib/tuned/virtual-guest/tuned.conf:vm.swappiness = 30
Lúc này, bạn hãy mở file /usr/lib/tuned/virtual-guest/tuned.conf, tìm vm.swappiness và thay đổi vm.swappiness = 30 thành vm.swappiness = 10.
nano /usr/lib/tuned/virtual-guest/tuned.conf
Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.
Khởi động lại VPS và kiểm tra lại kết quả.
Thay đổi dung lượng swap
Nếu bạn đã theo các hướng dẫn trên để tạo swap file và muốn thay đổi dung lượng swap, hãy thực hiện ngược lại quá trình.
– Tắt swap
swapoff /swapfile
– Xóa file swap
rm -f /swapfile
– Tạo mới file swap với dung lượng mong muốn. Ví dụ mình tạo 2GB (2048k)
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048k
– Tạo phân vùng swap
mkswap /swapfile
– Kích hoạt swap
swapon /swapfile
– Bảo mật file swap bằng cách chmod
chown root:root /swapfile chmod 0600 /swapfile
– Kiểm tra lại tình trạng swap
swapon -s
Khi thay đổi dung lượng swap, các cài đặt từ trước như tự động kích hoạt khi server reboot, thông số Swappiness được giữ nguyên nên bạn không cần phải thao tác gì thêm.
Giờ khởi động lại server rồi kiểm tra lại kết quả thôi.
Tên miền Việt Nam Lệ phí đăng ký(1) (không chịu thuế) Phí duy trì(2) (không chịu thuế) Dịch vụ tài khoản quản trị tên miền năm đầu (chưa bao gồm thuế VAT) Dịch vụ tài khoản quản trị tên miền năm tiếp theo (chưa bao gồm thuế VAT) Tổng tiền năm...