这个问题起源于同事之间关于通过将交换文件移动到 tmpfs 来提高性能的笑话。显然,即使这是可能的,这也不是一个好主意。我只想知道,这能做到吗?
我目前使用的是 Ubuntu 14.04,但我想这个过程对于大多数 Linux/Unix 机器来说是相似的。这是我在做什么:
> mkdir /mnt/tmp
> mount -t tmpfs -o size=10m tmpfs /mnt/tmp
> dd if=/dev/zero of=/mnt/tmp/swapfile bs=1024 count=10240
> chmod 600 /mnt/tmp/swapfile
> mkswap /mnt/tmp/swapfile
# So far, so good!
> swapon /mnt/tmp/swapfile
swapon: /mnt/tmp/swapfile: swapon failed: Invalid argument
Run Code Online (Sandbox Code Playgroud)
因此,在 linux 或 unix(我对任何解决方案都感兴趣)上,您能否以某种方式在驻留在 ram 中的文件/分区上设置交换?有没有办法解决Invalid argument
我上面的错误?
再次强调,我不希望这是对现实世界问题的解决方案。只是一个有趣的实验,我猜。