Linux:放置交换文件的位置


10

关于在Linux上的哪里放置交换文件有任何约定?

我通常只是在中创建它们/var/swapfile,但这在层次结构中似乎太高了。

Answers:



7

常规方式是拥有专用于交换的分区。如果您使用文件,则由您自己决定,但是Malte关于文件系统很重要的建议是一个很好的建议


+1是它自己的分区。我通常在驱动器的开头将swap作为分区。/ boot然后交换是我的一般方法。
egorgry 2011年

6
我个人并不十分在乎交换性能的最后几个百分点,不足以承担单独分区的额外复杂性。如果我的服务器开始认真交换,那我还是有问题。如果某些进程开始吞噬内存,那么交换空间更像是最后的安全网。
乔·利斯

很好,欢迎您使用文件。我发现分区非常容易管理,但我明白了您的理由。您只是问过约定是什么,这几乎是默认情况。
Caleb

@egorgry-BSD历史上没有尝试总是将swap放在第二个分区中吗?
JE队列

我发现将交换空间放在/ var中的文件中非常有用,因为将系统移动到新存储会更容易(无需担心)。我不在乎性能,因为我几乎不再使用交换了。也许今天它的主要用途是用于笔记本电脑休眠,并且显然是“安全网”。
盖洛斯2014年

0

只需将我的2美分加到MalteCaleb的答案中,再加上Paul 的出色参考

人们经常提到使用交换分区而不是交换文件。您必须看到交换文件的主要问题不是性能(内核负责此问题),而是需要具有感染力的非稀疏磁盘空间。因此,最好在创建基础文件系统之后立即创建所有交换文件。一旦使用了文件系统,并且文件碎片散落在各处,将很难获得一些连续的空间。但是,相比之下,分区并不能提供更好的服务:可以保证它是一个连续的空间,但是您还必须尽早创建它,而以后进行更改则是一个很大的麻烦。

另外,要解决将交换文件放在哪里的主要问题。就像交换分区一样,交换文件的内容本质上是高度机密的,因此建议使用加密。与整个分区的情况一样,通常是通过LUKS进行 LVM卷操作,交换文件应放置在LUKS加密设备之上的文件系统上。您必须记住,加密swap休眠有各种问题。另外,不要忘记访问权限。就像您不希望某人读取或写入您的内存一样,保护交换文件至关重要。可能最好的地方是只能由root用户访问的目录。(例如/var/swap/swapfile01_8G

如前所述,在使用系统后创建交换文件可能是一个问题。因此,在稍后发现需要更多交换之后,使用此方法进行扩展可能是不可行的。另一方面,在总交换空间由多个交换文件组成的同时进行缩减很容易。出于这个原因,可能值得更明智地在多个文件中分配交换空间,因为如果稍后确认它的大小过大,将很容易进行缩减。(为上帝着想,购买更多磁盘空间)


-2

如果要镜像Windows场景,请尝试/。如果要在多操作系统环境中共享文件,请尝试将其放在/home分区上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.