网站搜索

如何增加 Ubuntu Linux 中的交换内存


监视应用程序内存不足问题的最简单方法之一是增加服务器中的交换大小。在本文中,我们将解释如何将交换文件添加到 Ubuntu 服务器。

步骤一:查看掉期信息

在开始之前,首先确保通过运行以下 swapon 命令检查系统是否已有可用的交换空间。

sudo swapon --show

如果您没有看到任何输出,则意味着您的系统当前没有可用的交换空间。

您还可以使用 free 命令确认没有可用的交换空间。

free -h

您可以从上面的输出中看到,系统上没有活动的交换。

步骤 2:检查分区上的可用空间

要创建交换空间,首先,您需要检查当前的磁盘使用情况并确认系统上有足够的空间来创建交换文件。

df -h

带有 / 的分区有足够的空间可用于创建交换文件。

步骤 3:在 Ubuntu 中创建交换文件

现在我们将使用 fallocate 命令在 Ubuntu root (/) 目录上创建一个名为 "swap.img" 的交换文件,大小为1GB(您可以根据需要调整大小)并使用 ls 命令验证交换的大小,如下所示。

sudo fallocate -l 1G /swap.img
ls -lh /swap.img

从上面的输出中,您可以看到我们创建了具有正确空间量的交换文件,即 1GB

步骤 4:在 Ubuntu 中启用交换文件

要在 Ubuntu 中启用交换文件,首先需要为该文件设置正确的权限,以便只有 root 用户可以访问该文件。

sudo chmod 600 /swap.img
ls -lh /swap.img

从上面的输出中,您可以看到只有root用户具有读写权限。

现在运行以下命令将文件标记为交换空间并使交换文件能够开始在系统上使用它。

sudo mkswap /swap.img
sudo swapon /swap.img

通过运行以下命令验证交换空间是否可用。

sudo swapon --show
free -h

从上面的输出可以清楚地看出,我们的新交换文件已成功创建,我们的 Ubuntu 系统将根据需要开始使用它。

步骤 5:在 Ubuntu 中永久挂载交换文件

要使交换空间永久存在,您需要在 /etc/fstab 文件中添加交换文件信息,并通过运行以下命令进行验证。

echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
cat /etc/fstab

第 6 步:调整 Ubuntu 中的交换设置

您需要配置一些设置,这些设置会影响您的 Ubuntu 在使用交换时的性能。

调整 Swapiness 值

Swappiness 是一个 Linux 内核参数,用于指定系统将 RAM 中的数据交换到交换空间的数量(以及频率)。此参数的默认值为“60”,可以使用“0”“100”之间的任何值。该值越高,内核对交换空间的使用率越高。

首先,通过键入以下命令检查当前的 swappiness 值。

cat /proc/sys/vm/swappiness

当前的交换值 60 非常适合桌面使用,但对于服务器,您必须将其设置为较低的值,即 10

sudo sysctl vm.swappiness=10

要使此设置永久生效,您需要将以下行添加到 /etc/sysctl.conf 文件中。

vm.swappiness=10

调整缓存压力设置

您可能想要更改的另一个类似设置是vfs_cache_Pressure - 此设置指定系统想要缓存inodedentry详细信息的量其他数据。

您可以通过查询 proc 文件系统来检查当前值。

cat /proc/sys/vm/vfs_cache_pressure

当前值设置为100,这意味着我们的系统从缓存中删除inode信息的速度太快。我建议我们应该将其设置为更稳定的设置,例如 50

sudo sysctl vm.vfs_cache_pressure=50

要使此设置永久生效,您需要将以下行添加到 /etc/sysctl.conf 文件中。

vm.vfs_cache_pressure=50

完成后保存并关闭文件。

步骤 7:删除 Ubuntu 中的交换文件

要删除或删除新创建的交换文件,请运行以下命令。

sudo swapoff -v /swap.img
sudo rm -rf /swap.img

最后,从 /etc/fstab 文件中删除交换文件条目。

就这样!在本文中,我们解释了如何在 Ubuntu 发行版上创建交换文件。如果您对本文有任何疑问,请随时在下面的评论部分提出您的问题。