# Swap space trên Linux

> Swap là gì, cách xem dung lượng swap bằng free và swapon, cách thêm tệp swap và ý nghĩa của vm.swappiness.

Swap là không gian đĩa mà nhân Linux sử dụng như một bộ nhớ đệm: các trang bộ nhớ ít được sử dụng sẽ được chuyển đến đó để RAM luôn trống cho các tác vụ đang hoạt động. Nó có thể là một phân vùng chuyên dụng hoặc một tệp swap, và được hiển thị bằng các lệnh free -h và swapon --show.

## Tại sao swap vẫn hữu ích

Ngay cả khi có nhiều RAM, swap cho phép nhân hệ thống chuyển các trang bộ nhớ nhàn rỗi ra khỏi RAM và cung cấp một bộ đệm trước khi trình quản lý bộ nhớ (out-of-memory killer) dừng các tiến trình. Tuy nhiên, việc swap liên tục và nặng nề có nghĩa là máy tính cần thêm RAM hoặc giảm bớt khối lượng công việc.

## Swappiness

Thiết lập nhân vm.swappiness (0-200, mặc định là 60) ảnh hưởng đến mức độ sẵn sàng swap của nhân hệ thống so với việc xóa bộ nhớ đệm tệp. Các giá trị thấp hơn giúp giữ bộ nhớ ứng dụng trong RAM lâu hơn. Giá trị này được đọc bằng 'sysctl vm.swappiness' và được thiết lập vĩnh viễn trong một tệp nằm dưới /etc/sysctl.d/.

## Tệp swap

Một tệp swap được tạo, định dạng bằng mkswap, kích hoạt bằng swapon và thêm vào /etc/fstab để duy trì sau khi khởi động lại. Quyền truy cập của tệp phải là 600.

## Cách thêm tệp swap 2 GB

1. Tạo tệp: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. Hạn chế quyền truy cập: sudo chmod 600 /swapfile
3. Định dạng tệp: sudo mkswap /swapfile
4. Kích hoạt tệp: sudo swapon /swapfile
5. Thiết lập vĩnh viễn: thêm dòng '/swapfile none swap sw 0 0' vào /etc/fstab
6. Kiểm tra: swapon --show và free -h

## Lưu ý

- Trên Btrfs, tệp swap cần chuẩn bị đặc biệt (không sử dụng copy-on-write); hãy làm theo hướng dẫn của bản phân phối Linux của bạn.
- Sai sót trong /etc/fstab có thể khiến hệ thống không thể khởi động: hãy kiểm tra kỹ dòng lệnh trước khi khởi động lại.

## Nguồn

- [swapon(8)](https://man7.org/linux/man-pages/man8/swapon.8.html)
- [mkswap(8)](https://man7.org/linux/man-pages/man8/mkswap.8.html)
- [free(1)](https://man7.org/linux/man-pages/man1/free.1.html)
- [Tài liệu cho /proc/sys/vm (kernel.org)](https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html)

Cập nhật lần cuối: 2026-10-08
URL: https://raincleaner.eu/vi/wiki/linux/swap
