Lý do để sử dụng Swap là hệ thống của bạn cần giải phóng bộ nhớ RAM để sử dụng cho mục đích khác. Có hai loại Swap mà bạn có thể sử dụng đó là tạo phân vùng swap và swap file. Ưu điểm khi bạn sử dụng swap file là dễ dàng khởi tạo, thay đổi kích thước và an toàn. Đối với VPS Linux (như DigitalOcean, Vultr…) với một phân vùng thì sử dụng swap file là cách duy nhất. Đối với các máy tính để bàn hoặc laptop với nhiều phân vùng, bạn có thể tạo phân vùng swap thay vì sử dụng swap file. Bạn có thể tìm hiểu chi tiết về Swap tại đây.
Bài viết này sẽ hướng dẫn bạn cách tạo Swap file cho VPS, máy tính để bàn hoặc laptop sử dụng hệ điều hành Linux như Ubuntu, Debian, RHEL, CentOS…
Kiểm tra thông tin hệ thống
Để bắt đầu, bạn cần đăng nhập vào SSH nếu bạn đang sử dụng VPS hoặc mở Terminal nếu bạn đang dùng máy tính để bàn.
Đầu tiên bạn nên kiểm tra xem hệ thống đã sử dụng Swap hay chưa bằng cách sử dụng lệnh
free -m. total used free shared buff/cache available
Mem: 489 43 224 4 221 362
Swap: 0 0 0
Nếu các thông số của Swap là 0 thì hệ thống của bạn chưa sử dụng Swap. Bây giờ bạn có thể kiểm tra xem dung lượng ổ đĩa còn trống của bạn là bao nhiêu, sử dụng lệnh
df -h:# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.5G 18G 8% /
devtmpfs 237M 0 237M 0% /dev
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 245M 4.3M 241M 2% /run
tmpfs 245M 0 245M 0% /sys/fs/cgroup
Thông số về dung lượng ổ đĩa hệ thống của bạn được liệt kê ở dòng đầu tiên và dung lượng còn trống nằm trong phần Avail. Bạn sẽ cần phải tính toán xem nên sử dụng bao nhiêu không gian cho swap. Bạn không nên tạo swap file có kích thước quá lớn trong khi dung lượng ổ đĩa còn trống của bạn quá ít.
Tạo Swap file
Để tạo swap file, sử dụng lệnh sau:
sudo fallocate -l 512m /swapfile
Lệnh trên sẽ tạo ra file
swapfile có kích thước 512MB tại /. Bạn có thể thiết lập kích thước tùy ý cho file swap, ở đây mình sẽ tạo file swap có kích thước bằng với lượng RAM. Để tạo file swap có kích thước 2Gb, sử dụng lệnh sau:sudo fallocate -l 2G /swapfile
Nếu bạn gặp lỗi “fallocate failed: Operation not supported” khi sử dụng lệnh trên, bạn có thể sử dụng lệnh dưới đây để thay thế:
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
Kết quả:
512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 2.3815 s, 225 MB/s
Bạn nên kiểm tra lại file swap để xác nhận rằng mọi thứ đều ổn:
ls -lh /swapfile
Kết quả ở dưới cho thấy file swap đã được tạo ra đúng cách:
-rw-r--r-- 1 root root 512M Nov 7 01:11 /swapfile
Thiết lập quyền cho file để hạn chế người dùng có thể truy cập đến file này.
sudo chmod 600 /swapfile
Định dạng swap cho file:
sudo mkswap /swapfile
Kết quả:
Setting up swapspace version 1, size = 524284 KiB no label, UUID=3fa74a4e-9b72-45fe-9c2c-972cfe87ef9a
Kích hoạt file Swap
Sau khi bạn đã có một file swap, bây giờ bạn có thể kích hoạt để hệ thống sử dụng file swap này:
sudo swapon /swapfile
Để chắc chắn rằng file swap đã được kích hoạt và sử dụng, bạn có thể kiểm tra như sau:
sudo swapon -s
Kết quả:
Filename Type Size Used Priority
/swapfile file 524284 0 -1
Bạn có thể kiểm tra dung lượng còn trống (free) và đã sử dụng (used) của swap bằng cách sử dụng lệnh
free -m:# free -m
total used free shared buff/cache available
Mem: 489 45 55 8 387 353
Swap: 511 0 511
Lưu ý: bạn phải kích hoạt lại swap cho mỗi lần khởi động tiếp theo hoặc thiết lập để hệ thống tự động kích hoạt và sử dụng swap.
Để hệ thống tự động sử dụng file swap mỗi khi khởi động, bạn cần khai báo thêm trong
/etc/fstab.
Đối với Ubuntu, Debian và Linux Mint, sử dụng lệnh sau:
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
Đối với CentOS và RHEL:
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
Bây giờ thì Swap sẽ được tự động kích hoạt khi khởi động lại máy hoặc VPS. Bạn có thể khởi động lại máy tính và sử dụng lệnh
free -m để kiểm tra.
Không có nhận xét nào:
Đăng nhận xét