Swap là một khoảng trống trên đĩa được sử dụng khi dung lượng bộ nhớ RAM vật lý đầy. Khi hệ thống Linux hết RAM, nó sẽ sử dụng Swap để thay thế
Tạo Swap trên CentOS 7
Kiểm tra Swap
Việc đầu tiên cần làm là kiểm tra xem hệ thống của các bạn đã có Swap hay chưa bằng cách chạy lệnh sau:
swapon --show
hoăc:
swapon -s
Nếu bạn không thấy kết quả nào được trả về, điều đó có nghĩa là hệ thống của bạn chưa có swap. Ngược lại nếu bạn thấy kết quả như ảnh dưới đây nghĩa là hệ thống của bạn đã có Swap và bạn không cần phải làm gì thêm.
Tạo Swap
Trong hướng dẫn này, Upforshare sẽ thêm 2G swap, lưu ý rằng chỉ nên tạo swap tối đa gấp đôi dung lượng của Ram thật.
Bước 1: Tạo swapfile
Chạy lệnh sau để tạo swapfile trên hệ thống CentOS 7
dd if=/dev/zero of=/swapfile bs=1024 count=2048k
Bạn có thể thay thế 2048k bằng dung lượng swapfile muốn tạo, ví dụ: 1024K sẽ là 1GB
Bước 2: Phân quyền cho swapfile
Để đảm bảo rằng chỉ người dùng root mới có thể đọc và ghi vào swap các bạn chạy lần lượt hai lệnh dưới đây:
chown root:root /swapfile
chmod 600 /swapfile
Bước 3: Kích hoạt swap
Tiếp theo, các bạn chạy lệnh sau để tạo phân vùng swap:
mkswap /swapfile
Tiếp theo. Chạy lệnh này để kích hoạt swap:
swapon /swapfile
Bước 4: Thiết lập tự kích hoạt swapfile mỗi khi khởi động lại hệ thống
Để phân vùng swap không bị mất mỗi khi khởi động lại hệ thống các bạn cần chỉnh sửa file /etc/fstab bằng cách chạy lệnh sau:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Để kiểm tra xem swap đã được kích hoạt hay chưa hãy dùng lệnh sau:
free -h
Điều chỉnh giá trị Swappiness
Giá trị Swappiness mặc định trên CentOS 7 là 30. Nghĩa là khi dung lượng ram chỉ còn trống 30% thì Swap sẽ được sử dụng. Tôi thường để giá trị này là 10% để tận dụng tối đa ram
Bạn có thể kiểm tra giá trị Swappiness hiện tại bằng cách nhập lệnh sau:
cat /proc/sys/vm/swappiness
Để đặt giá trị swappiness thành 10, hãy chạy lệnh sau:
sysctl vm.swappiness=10
Để tham số này không bị thay đổi mỗi khi khởi động lại, hãy sửa file: /etc/sysctl.conf
Thêm dòng sau vào cuối file và lưu lại
vm.swappiness=10
Tiếp theo các bạn mở file /usr/lib/tuned/virtual-guest/tuned.conf tìm và sửa vm.swappiness
vm.swappiness=10
Xoá Swap
Đầu tiên để hủy kích hoạt swap các bạn chạy lệnh sau:
swapoff -v /swapfile
Tiếp theo mở file /etc/fstab và xoá dòng dưới đây
/swapfile none swap sw 0 0
Cuối cùng, xóa swapfile
rm /swapfile
Done. Tất tần tật về Swap như trên