Swap space trên Linux
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.
1Tạ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.
2Swappiness
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/.
3Tệ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
- Tạo tệp:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 - Hạn chế quyền truy cập:
sudo chmod 600 /swapfile - Định dạng tệp:
sudo mkswap /swapfile - Kích hoạt tệp:
sudo swapon /swapfile - Thiết lập vĩnh viễn: thêm dòng '/swapfile none swap sw 0 0' vào
/etc/fstab - Kiểm tra:
swapon --showvà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/fstabcó 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.
Bài liên quan
- df (disk free)Cách đọc kết quả đầu ra của df, lý do tại sao Use% có thể đạt 100% trước khi Avail bằng 0 đối với người dùng thông thường và cách kiểm tra inode bằng df -i.
- Các unit của systemd và systemctlUnit của systemd là gì, các loại unit phổ biến, và cách khởi động, dừng, kích hoạt cũng như kiểm tra các dịch vụ bằng systemctl.
- Sử dụng dung lượng đĩa với du và ncduCách tìm các tệp tin chiếm dụng dung lượng đĩa trên Linux bằng du và công cụ tương tác ncdu, với các tùy chọn giới hạn trong một hệ thống tệp.
Nguồn
- swapon(8) man7.org
- mkswap(8) man7.org
- free(1) man7.org
- Tài liệu cho /proc/sys/vm (kernel.org) kernel.org
Xem xét lần cuối: