Trong bài trước mình đã viết hướng dẫn chi tiết cách tạo file swap trên Ubuntu, trên CentOS thì các thao tác cũng tương tự như vậy.
Kiểm tra file 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 đã tạo file này hay chưa bằng cách chạy:
swapon -s
Nếu không có thông tin gì trả về chứng tỏ server chưa có file swap và bạn có thể tạo.
Kiểm tra dung lượng trống
Sử dụng lệnh df
để kiểm tra dung lượng trống
df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda 20642428 1347968 18245884 7% /
Tạo swap file
Chạy lệnh dd. Ở đây mình tạo 1GB swap (count=1024k) cho VPS 512RAM
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
Tạo phân vùng swap
sudo mkswap /swapfile
Kết quả
Setting up swapspace version 1, size = 536866 kB
Activate swap
sudo swapon /swapfile
Thông tin swap file
swapon -s Filename Type Size Used Priority /swapfile file 262140 0 -1
Thiết lập swap tự động được sử dụng mỗi khi reboot lại server
echo /swapfile none swap defaults 0 0 >> /etc/fstab echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p
Bảo mật file swap bằng cách chmod
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
Cài đặt swap file
Bạn có thể 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
60
Thông số swappiness có thể từ 0 đến 100. 100 là hệ thống thường xuyên sử dụng swap và lúc này bạn nên nâng cấp RAM cho server, 0 là ít khi dùng.
Bạn có thể chỉnh thông số swappiness bằng cách dùng lệnh sysctl
sysctl vm.swappiness=10
vm.swappiness=10
Kiểm tra lại
cat /proc/sys/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 thêm dòng sau vào file /etc/sysctl.conf
sudo nano /etc/sysctl.conf
# Search for the vm.swappiness setting. Uncomment and change it as necessary. vm.swappiness=10