关于Linux Swap
调整大小的目的,我发现了三种方法
- 删除当前
/swapfile
并创建一个具有新所需大小的新 - 根据当前需求添加更多千兆
/swapfile
- 加上另一个
Swap file
笔记sudo swapoff -v /swapfile
:请务必通过或sudo swapoff -a
命令禁用第一次交换
这里提到/介绍了方法 2 和 3:
这里介绍方法 1:
问题
- 值得推荐的方法是什么?为什么?
附加问题
- 什么时候是强制性的,添加另一个有什么好处
/swapfile
? - 因此/swapfile2
......等等 - 内核如何处理 2 个或更多
swap file
s?我假设有一些优势... - 是否存在一个建议的限制
swap files
,例如只将“?”添加至最多 3?
通常我习惯使用只存在一个分区的方法,因此,这种乍一看swap partition
就添加一些分区的方法很少见/不常见swap files
答案1
既然您显然已经完成了研究,让我们看看是否可以逐一解决这些问题。
问:推荐的方法是什么?为什么?
理想的方法是您最舒服的方法,仅仅因为您觉得它更舒服。
我发现交换文件相对于交换分区的最大优势之一是,它简化了交换管理,让那些对计算机工作原理毫不关心的人也能轻松管理。分区是 70 年代的构造,带有 70 年代的规则,规定人们应该如何与它们交互,不应该如何与它们交互。这对操作系统来说没问题,但对人来说却不行。通过允许普通人添加/删除交换空间,而不必担心破坏分区表并丢失他们从未想过要备份的所有重要数据,这个过程变得不那么令人生畏了。
问:什么时候是强制性的,添加另一个 /swapfile 有什么好处?- 因此 /swapfile2 ... 等等
只有在系统内存不足并严重锁定,从而强制进行硬重启时,才必须添加交换。添加另一个文件的好处是,您的系统可以继续处理内存密集型工作负载更长时间,而不会完全锁定……尽管 I/O 负载可能会超过理想阈值,因为大部分操作都是交换颠簸。
例如,有些应用程序使用数百万个“小”文件,尤其是在学术界,研究人员试图创建考虑数万亿种条件(天气测绘、气候模型、天体物理学等)的模拟。
问:内核如何处理 2 个或更多交换文件?我假设有一些优势...
当一个文件已满时,将使用下一个文件。交换文件之间没有数据平衡,因为这将导致额外的性能损失。
问:添加交换文件是否有建议的限制?例如最多 3 个?
据我所知,系统可以拥有的最大交换文件数仅受给定文件系统配置的文件数限制。您可以使用以下命令检查这一点:
cat /proc/sys/fs/file-max
如果您使用的是现代系统,您可能会看到如下数字:
9223372036854775807
9.2 千万亿个文件对每个人来说应该足够了。
答案2
选项 1 似乎没用。既然可以执行 #2,为什么还要创建新的呢?(除非损坏或类似情况)
如果可能的话,我认为选项 2 是最好的。
选项 3,我不认为在一个 FS 上进行多次交换是一个好主意,因为内核可能会尝试同时进行写入,从而减慢磁盘速度。
添加选项4:创建交换分区。取决于偏好和 FS,但我更喜欢这个。