我想使用另一台机器未使用的 RAM 作为我的主要 Linux 安装的交换空间。与本地(慢速)机械硬盘相比,我只是对网络 ramdisk 的性能感到好奇。
交换文件位于tmpfs挂载点上并通过samba. 但是,每次我尝试发出:
swapon /mnt/ramswap/swapfile
Run Code Online (Sandbox Code Playgroud)
我得到:
swapon: /mnt/ramswap/swapfile: swapon failed: Invalid argument
Run Code Online (Sandbox Code Playgroud)
在dmesg我读到:
[ 9569.806483] swapon: swapfile has holes
Run Code Online (Sandbox Code Playgroud)
我试图用dd if=/dev/zero of=swapfile bs=1024 (but also =4096 and =1048576)和分配交换文件truncate -s 2G(都后跟mkswap swapfile),但结果总是一样的。
在这篇文章(可追溯到 2002 年)中,有人说在 Linux 中无法通过 NFS/SMB 使用交换文件。这个说法还有效吗?如果是的话,这个选择的原因是什么,有什么解决方法可以让这个工作?