为什么交换增加交换和交换后,交换总回报为前一个值

在我的Linux Redhat机器(版本5.x)

我执行以下步骤以增加从6G到8G的交换

lvcreate -n swap -L 2g /dev/rootvg mkswap /dev/mapper/rootvg-swap1 swapon /dev/mapper/rootvg-swap1 

步骤交换后成功升至8G

两天后我执行swapoff -aswapon -a

但是我注意到总交换只有6G,就像之前我的步骤一样!

请build议我的步骤有什么问题 – 缺less什么?

您应该首先检查“/ etc / fstab”文件是否存在交换分区。 “swapon -a”命令将检查“/ etc / fstab”中的交换分区条目,并从该分区分配交换内存。 您可以在fstab中添加下面的行。

/ dev / mapper / rootvg-swap1无交换sw 0 0

比尝试“swapon -a”命令。

它没有工作的原因是因为你省略了必要的mkswap命令。 当你运行mkswap命令时,它会写出一个包含三条信息的标题:

  • 交换空间有多大?
  • 这个交换空间的UUID是什么
  • 一个魔术值表示这个分区是交换空间

mkswap命令在默认情况下会使用分区的实际大小,但如果您真的想要的话,您可以从命令行覆盖它。

当你调整你的交换分区的大小时,不要重写交换头,交换头仍然会包含旧的大小,这就是内核将要使用的。

在运行swapon之前使用这个命令应该做这个工作:

 mkswap /dev/mapper/rootvg-swap1 

如果/etc/fstab使用UUID来查找交换分区,则需要添加-U参数并告诉它UUID(可以从fstab复制粘贴值)。