Linux 中管理交换分区

交换是系统 RAM 已满时使用的磁盘上的物理空间。 当系统中的内存使用量超过可用 RAM 时,内核会将空闲页面移动到交换内存中。 可以在单独的分区或交换文件上创建交换空间。 如果我们的服务器在 VPS 上运行并且不存在交换分区,那么我们将需要创建一个交换文件。

在这篇文章中,我们将展示 Linux 上创建和管理交换空间。

先决条件

  • 云平台上的全新 Ubuntu/CentOS 服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu/CentOS 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu/CentOS 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

或者

yum update -y

第 2 步 – 验证交换分区

在开始之前,我们需要检查系统中是否启用了交换。

我们可以使用以下命令检查它:

swapon --show

如果输出为空,则表示系统中没有任何活动的交换空间。

第 3 步 – 创建交换文件

如我们所见,我们的系统中没有任何活动的交换空间。 因此,我们需要为我们的系统创建一个新的交换文件。

首先,使用以下命令创建一个大小为 4GB 的交换文件:

dd if=/dev/zero of=/swapfile bs=4096 count=1048576

我们应该看到以下输出:

1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 9.47796 s, 453 MB/s

接下来,使用以下命令设置交换文件的正确权限:

chmod 600 /swapfile

接下来,使用以下命令在交换文件上创建一个交换区域:

mkswap /swapfile

输出:

Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=035ada64-2c1a-407d-9f1a-c0dd02b8dcd4

接下来,使用以下命令激活交换空间:

swapon /swapfile

上述命令将临时激活交换空间。

要永久设置它,请编辑 /etc/fstab 文件:

nano /etc/fstab

添加以下行:

/swapfile swap swap defaults 0 0
Save and close the file then verify the swap partition with the following command:
swapon --show

我们应该看到以下输出:

NAME      TYPE SIZE USED PRIO
/swapfile file   4G   0B   -2

第 4 步 – 检查交换使用情况

要检查交换使用信息,请运行以下命令:

free -m

我们应该看到以下输出:

              total        used        free      shared  buff/cache   available
Mem:           1987          74          69           0        1843        1745
Swap:          4095           0        4095

我们也可以使用以下命令进行检查:

cat /proc/swaps

我们应该看到以下输出:

Filename                                Type            Size    Used    Priority
/swapfile                               file            4194300 0       -2

我们还可以使用 top 命令实时检查交换使用情况:

top

我们应该看到以下输出:

Tasks:  84 total,   1 running,  83 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.9 us,  5.9 sy,  0.0 ni, 88.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1987.7 total,     68.0 free,     74.8 used,   1844.9 buff/cache
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.   1745.5 avail Mem 

我们还可以使用 vmstat 命令检查交换使用情况:

vmstat 2 6

我们应该看到以下输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0  69356  12096 1877228    0    0    35   652   31   59  0  0 99  0  0
 0  0      0  69420  12096 1877228    0    0     0     0   24   42  0  0 100  0  0
 0  0      0  69388  12096 1877228    0    0     0     0   22   40  0  0 100  0  0

第 5 步 – 删除交换空间

为了删除交换空间,我们需要先停用交换空间。 我们可以使用以下命令执行此操作:

swapoff -v /swapfile

接下来,编辑 /etc/fstab 文件并删除以下行:

nano /etc/fstab

删除以下行:

/swapfile swap swap defaults 0 0

接下来,使用以下命令删除交换文件:

rm -rf /swapfile

接下来,使用以下命令验证交换空间是否被移除:

swapon --show

在上面的指南中,我们学习了 Linux 上检查和创建交换空间。 我们还学习了如何使用不同的命令监控交换空间。 立即开始使用来自 的 VPS。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论