Was ist falsch an dieser Abfolge von Operationen, die auf einem Debian Squeeze-System mit einem Btrfs-Dateisystem ausgeführt werden?
$ 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
Mein Dateisystem ist:
$ 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
quelle
quelle
Antworten:
wie von malat gepostet
quelle
btrfs
Dateisystem kann keine Auslagerungsdateien unterstützen, da es Dateidaten verschiebt und der Linux-Auslagerungscode die Zuordnung der Auslagerungsdatei nur einmal verwendet. Wenn dies zulässig ist, würde eine Katastrophe eintreten - zufällige Dateidaten, die Blöcke verwendeten, die die Auslagerungsdatei einmal verwendete, würden beschädigt.Ich habe weniger als 50 Ruf, so kann ich nicht kommentieren. Aber ich MUSS vorhandene Antworten aktualisieren. In Linux-Kernel 5.0.0 unterstützt btrfs jetzt nativ Swapfile. (Sie müssen es als No-COW einstellen)
Hier sind einige Informationen von kernel.org: https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F
Dieser Link zeigt, wie es geht: https://wiki.archlinux.org/index.php/swap#Swap_file .
VERSUCHEN SIE ES NICHT UNTER LINUX <4.21 !!!
quelle
Wenn Sie trotzdem eine Datei austauschen möchten, verwenden Sie einfach btrfs-swapon
quelle
truncate -s 4G swapfile_holes.img
. Das heißt, der Grund, warumswapon
nach etwas gesucht wird, ist, dass die Swap-Datei einige Anforderungen für eine angemessene Leistung erfüllen sollte.losetup
Mapping zu verwenden. Mein System steckte nach dem Start der Verwendung von Swap Throughlosetup
auf BTRFS (mit vorab zugewiesenen Datei). Vielleicht stört es irgendwie Puffer und Caches. Das heißt, das System möchte Speicher freigeben und etwas austauschen, dies führt jedoch dazu, dass der Cache bei gleicher Größe vergrößert wird. Obwohl ich nicht sicher bin, würde ich das vermeiden.Update April 2019 : Bitte lesen Sie die Antwort von recolic, wonach Btrfs ab Linux-Kernel-Version 5.0.0 Swap unterstützt .
Ursprüngliche Antwort:
Sathyas Antwort scheint tote Links zu enthalten.
Ich habe dies in den Btrfs FAQ gefunden:
Quelle: https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F
quelle
Invalid argument
sagt, dass etwas in Argumenten fürswapon
Befehl falsch ist .Lesen Sie zuerst
man swapon
.Versuchen Sie es
sudo swapon swapfile2
. In meinem Fall funktioniert es.quelle