![多个交换空间是否有效?](https://linux22.com/image/900990/%E5%A4%9A%E4%B8%AA%E4%BA%A4%E6%8D%A2%E7%A9%BA%E9%97%B4%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%EF%BC%9F.png)
我在 130 ssd 上安装了 Ubuntu,默认情况下它只分配了 1 GB 的交换空间。我知道交换空间至少应该与 RAM 大小相同,所以我想增加它。我不想调整大小,而是想在我的 1tb 驱动器上创建一个新分区。我想知道这是否会严重损害交换空间的性能,还是只会损害一点,因为额外的空间在硬盘上而不是 SSD 上。或者拥有多个位置是不是一个坏主意。
答案1
一般来说,这在很大程度上取决于您的使用情况。例如,如果您不使用休眠到磁盘(使用交换到休眠),则不需要那么多交换空间,1GB 可能就足够了。
回到你的问题。如果你进行大量交换,例如因为内存一直不足,并且你的一个交换分区在 SSD 上,另一个在 HDD 上,这将影响性能,因为 HDD 将成为这种情况下的性能瓶颈。如果
你只是想在某些极端情况下添加一些交换空间以防止内存不足,你可以将 SSD 上的交换空间添加为比 HDD 上的交换分区优先级更高的空间。这将导致 SSD 上的交换首先被填满,当 SSD 上的交换区域耗尽时,HDD 上的交换空间将被额外使用。
从man 2 swapon
。
交换页面按优先级顺序从各个区域分配,优先级最高的优先分配。对于优先级不同的区域,优先级较高的区域先用完,然后再使用优先级较低的区域。如果两个或多个区域的优先级相同,并且这是可用的最高优先级,则页面将以循环方式在它们之间分配。
从man swapon
:
priority 是 -1 到 32767 之间的值。数字越大,优先级越高。有关 swap 优先级的完整说明,请参阅 swapon(2)。将 pri=value 添加到 /etc/fstab 的选项字段,以便与 swapon -a 一起使用。当未定义优先级时,默认为 -1。
要更改交换分区的默认优先级,您必须添加/更改/etc/fstab
。
/dev/<swap-ssd> swap swap defaults,pri=1000 0 0
/dev/<swap-hdd> swap swap defaults 0 0