有没有关于交换文件放在Linux上的约定?
我通常只是在/var/swapfile创build它们,但是在层次结构中似乎有点太高。
AFAIK没有在文件系统层次结构标准中定义的位置。
因为/ var是经常更改的文件,所以我可以把它放在这里。 但请记住,如果使用平面文件交换而不是分区,请考虑为/ var使用快速文件系统。
传统的方法是有一个专门用于交换的分区。 如果你使用的文件是由你自己决定的,但是Malte对文件系统的重要性是一个很好的build议 。
只要把我的2分钱加到Malte和Caleb的答案上,以及Paul的优秀参考 :
经常提到使用交换分区而不是交换文件。 你必须看到交换文件的主要问题不是性能(内核负责),而是需要具有传染性的非稀疏磁盘空间。 因此,最好在创build底层文件系统后立即创build所有的交换文件。 一旦文件系统被使用,文件碎片四处散落,将很难得到一些连续的空间。 不过,相比之下,分区并没有提供更好的东西:它保证是一个连续的空间,但是你也必须在早期创build它,这是后来改变的一大痛苦。
另外,解决交换文件放在哪里的主要问题。 就像交换分区一样,交换文件的内容本质上是高度保密的,因此build议使用encryption。 就整个分区来说,大多数情况下, LUKS上的LVM卷是实践,swapfiles应放置在LUKSencryption设备之上的文件系统上。 您必须记住, encryption交换的hibernate有各种各样的问题。 另外,不要忘记访问权限。 就像你不想让别人读或写你的记忆一样,保护交换文件是至关重要的。 可能最好的地方是在一个目录访问 – 只能由根。 (例如/var/swap/swapfile01_8G )
正如前面提到的,在系统使用之后创buildswapfiles可能是一个问题。 因此,在稍后发现需要更多的交换之后,使用它来扩大规模可能是不可行的。 另一方面,缩减由多个交换文件组成的交换空间总是很容易的。 由于这个原因,可能更值得分配交换空间,并在多个文件中,因为如果您以后确认它显着过大,它将很容易缩小。 (为了上帝的缘故,购买更多的磁盘空间)
如果您想镜像Windows场景,请尝试/ 。 如果要在多操作系统环境中共享文件,请尝试将其放在/home分区上。