Apa yang salah dengan urutan operasi ini, berjalan pada sistem Debian Squeeze dengan sistem file Btrfs?
$ dd if=/dev/zero of=swapfile2 bs=1024 count=524288
$ sudo mkswap swapfile2
$ sudo chown root:root swapfile2
$ sudo chmod 0600 swapfile2
$ sudo swapon -v -f swapfile2
swapon on swapfile2
swapon: /home/mathieu/swapfile2: found swap signature: version 1, page-size 4, same byte order
swapon: /home/mathieu/swapfile2: pagesize=4096, swapsize=536870912, devsize=536870912
swapon: swapfile2: swapon failed: Invalid argument
Sistem file saya adalah:
$ mount
/dev/mapper/voxbox-root on / type btrfs (rw)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/mapper/voxbox-boot on /boot type ext2 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
linux
filesystems
swap
btrfs
malat
sumber
sumber
Jawaban:
seperti yang diposting oleh malat
sumber
btrfs
file tidak dapat mendukung file swap karena memindahkan data file sekitar dan kode swap Linux hanya mengambil pemetaan file swap sekali. Bencana akan terjadi jika ini dibolehkan - data file acak yang menggunakan blok yang dulu pernah ditukar file swap akan rusak.Saya memiliki kurang dari 50 reputasi sehingga saya tidak bisa berkomentar. Tapi SAYA HARUS memperbarui jawaban yang ada. Di linux kernel 5.0.0, btrfs secara native mendukung swapfile sekarang. (Anda harus mengaturnya sebagai no-COW)
Berikut ini beberapa informasi dari kernel.org: https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F
Tautan ini menunjukkan cara melakukannya: https://wiki.archlinux.org/index.php/swap#Swap_file .
JANGAN MENCOBANYA DI LINUX <4.21 !!!
sumber
Jika Anda ingin menukar file, cukup gunakan btrfs-swapon
sumber
truncate -s 4G swapfile_holes.img
. Yaitu alasan mengapaswapon
memeriksa sesuatu adalah bahwa swapfile harus memenuhi beberapa persyaratan untuk kinerja yang wajar.losetup
pemetaan. Sistem saya macet setelah mulai menggunakan swap melaluilosetup
pada btrfs (dengan file yang dialokasikan sebelumnya). Mungkin itu entah bagaimana mengganggu buffer dan cache. Yaitu sistem ingin membebaskan memori dan menukar sesuatu, tetapi ini menghasilkan peningkatan cache untuk ukuran yang sama. Meskipun saya tidak yakin, saya akan menghindarinya.Pembaruan April 2019 : Silakan lihat jawaban recolic, yang mengklaim bahwa Btrfs mulai mendukung swap pada kernel Linux versi 5.0.0.
Jawaban asli:
Jawaban Sathya tampaknya berisi tautan mati.
Saya menemukan ini di FAQ Btrf:
Sumber: https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F
sumber
Invalid argument
mengatakan bahwa ada yang salah dalam argumen untukswapon
perintah.Pertama-tama, baca
man swapon
.Coba
sudo swapon swapfile2
. Dalam kasus saya ini berfungsi.sumber