我可以在不同的设备上使用 Linux 中的多个交换文件来增强吞吐量吗?

我可以在不同的设备上使用 Linux 中的多个交换文件来增强吞吐量吗?

如果可能的话,我想使用两个交换文件:一个在 SSD 上,一个在 USB 闪存盘上。我希望这样可以获得增强的两个组合通道吞吐量。

答案1

是的,您可以使用多个交换空间,但这样做不会提高吞吐量,只会增加交换空间。您可以设置多个交换空间(分区或文件)。这些交换空间可以具有相同的优先级,也可以具有不同的优先级。以下是man swapon优先级如何影响使用的说明:

交换页面按优先级顺序从各个区域分配,优先级最高的优先分配。对于优先级不同的区域,优先级较高的区域先用完,然后再使用优先级较低的区域。如果两个或多个区域的优先级相同,并且这是可用的最高优先级,则页面将以循环方式在它们之间分配。

提高吞吐量的方法是放置交换文件:

  1. 在最快的介质上:这是显而易见的:驱动器越快,读写交换数据的速度就越快。在这方面,SSD 驱动器显然是最佳选择,尽管这是以牺牲这些驱动器的使用寿命为代价的。
  2. 在与您的系统或数据硬盘不同的介质上:并行工作的不同驱动器可以比需要出于不同目的进行访问的单个驱动器更快地传输数据。

答案2

先生,这听起来无论如何都是变态的……但是是的……您可以在任何设备上创建交换文件。我的建议 - 不要做这样的事情……无论如何:

您必须根据个人需要替换交换文件 (/swapfile) 的路径 - 例如 /mountpointofdevice/swapfile,并可以根据个人建议设置大小 (1G)...您还可以对任何设备重复此步骤...)

        #Create a empty file on your target device
        sudo fallocate -l 1G /swapfile

        #set permissions for root r/w only
        sudo chmod 600 /swapfile

        #mark it as swap
        sudo mkswap /swapfile

        #enable swap
        sudo swapon /swapfile

相关内容