Saya tidak bisa membayangkan mengapa file swap perlu ukuran tetap. Mengapa tidak membiarkannya mengubah ukuran secara dinamis, seperti file gambar hard drive untuk kotak virtual?
Saya tidak bisa membayangkan mengapa file swap perlu ukuran tetap. Mengapa tidak membiarkannya mengubah ukuran secara dinamis, seperti file gambar hard drive untuk kotak virtual?
Jawaban:
Itu tidak terlihat seperti Linux mendukung ukuran file swap dinamis (bagaimanapun, saya tidak bisa mendapatkannya untuk mendeteksi bahwa file swap telah berubah ukuran tanpa a swapoff
/ swapon
).
Agaknya lebih mudah untuk mengasumsikan bahwa file swap tidak mengubah ukuran file secara dinamis saat menulis kode untuk mendukungnya. Saya juga tidak melihat manfaatnya. Karena Anda dapat menggunakan banyak file swap, tidak ada yang mencegah Anda membuat lebih banyak file swap sesuai kebutuhan.
Juga perhatikan ayat ini dari para swapon
manualnya :
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.
Saya pikir masalah yang sama akan berlaku untuk file swap yang berukuran dinamis.
SwapSpace adalah utilitas yang akan memungkinkan Anda untuk membuat swap berukuran dinamis jika itu yang Anda cari. Saya percaya ini tersedia di Ubuntu.
Saya tahu ini sudah terlambat, tapi saya pikir solusi terbaik untuk pertukaran dinamis adalah dengan:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
kemudian CONF_SWAPFACTOR=2
masuk /etc/dphys-swapfile
dan akhirnya
sudo service dphys-swapfile start
Swap space dapat ditambahkan ke sistem yang sedang berjalan dengan menggunakan swapon
perintah. Itu membutuhkan swapfile / partisi yang ada (tidak digunakan). Untuk membuatnya, gunakan dd
perintah untuk mengalokasikan file yang berdekatan, dan kemudian mkswap
untuk menambahkan informasi kontrol yang benar ke file / partisi.
Untuk menghapus file swap, gunakan swapoff
; file kemudian dapat dihapus.
Saya curiga itulah yang terjadi SwapSpace
demon @ @ user231695.
Perhatikan bahwa swapoff dapat menjadi operasi lambat jika swapfile sedang digunakan; semua data harus ditransfer ke area swap lain.