Tôi không thể tưởng tượng tại sao một tệp hoán đổi cần phải có kích thước cố định. Tại sao không để nó thay đổi kích thước một cách linh hoạt, như tệp hình ảnh ổ cứng cho một hộp ảo?
Tôi không thể tưởng tượng tại sao một tệp hoán đổi cần phải có kích thước cố định. Tại sao không để nó thay đổi kích thước một cách linh hoạt, như tệp hình ảnh ổ cứng cho một hộp ảo?
Câu trả lời:
Có vẻ như Linux không hỗ trợ kích thước tệp hoán đổi động (ở bất kỳ giá nào, tôi không thể yêu cầu nó phát hiện ra rằng tệp hoán đổi đã thay đổi kích thước mà không có swapoff
/ swapon
).
Có lẽ dễ dàng hơn để giả định rằng một tệp hoán đổi không thay đổi kích thước tệp một cách linh hoạt khi viết mã để hỗ trợ nó. Tôi cũng không thấy bất kỳ công dụng tuyệt vời nào cho nó. Vì bạn có thể sử dụng nhiều tệp hoán đổi, không có gì ngăn cản bạn tạo thêm tệp hoán đổi khi cần.
Cũng lưu ý đoạn này từ các swapon
manpage :
The swap file implementation in the kernel expects to be able to write
to the file directly, without the assistance of the filesystem. This
is a problem on preallocated files (e.g. fallocate(1)) on filesystems
like XFS or ext4, and on copy-on-write filesystems like btrfs.
Tôi nghĩ rằng vấn đề tương tự sẽ áp dụng cho một tệp hoán đổi kích thước động.
SwapSpace là một tiện ích sẽ cho phép bạn thực hiện trao đổi kích thước động nếu đó là những gì bạn đang tìm kiếm. Tôi tin rằng nó có sẵn trong Ubuntu.
Tôi biết rằng đã muộn, nhưng tôi nghĩ giải pháp tốt nhất cho hoán đổi động là:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
sau đó thiết lập CONF_SWAPFACTOR=2
trong /etc/dphys-swapfile
và cuối cùng
sudo service dphys-swapfile start
Không gian hoán đổi có thể được thêm vào một hệ thống đang chạy bằng cách sử dụng swapon
lệnh. Nó cần một tệp hoán đổi / phân vùng hiện có (không sử dụng). Để tạo một dd
tệp , sử dụng lệnh để phân bổ một tệp liền kề, sau đó mkswap
thêm thông tin điều khiển chính xác vào tệp / phân vùng.
Để loại bỏ một tập tin hoán đổi, sử dụng swapoff
; các tập tin sau đó có thể bị xóa.
Tôi nghi ngờ đó là những gì SwapSpace
mà @ user231695 đã đề cập.
Lưu ý rằng hoán đổi có thể là một hoạt động chậm nếu hoán đổi được sử dụng; tất cả dữ liệu phải được chuyển sang khu vực trao đổi khác.