HCRM博客

如何在CentOS中进行Swap空间的创建和管理?

CentOS Swap 配置指南

目录

如何在CentOS中进行Swap空间的创建和管理?-图1
(图片来源网络,侵权删除)

1、[Swap 简介](#swap简介)

2、[检查系统当前的 Swap 信息](#检查系统当前的swap信息)

3、[检查可用存储空间](#检查可用存储空间)

4、[创建 Swap 文件](#创建swap文件)

5、[启用 Swap 文件](#启用swap文件)

6、[持久化配置](#持久化配置)

如何在CentOS中进行Swap空间的创建和管理?-图2
(图片来源网络,侵权删除)

7、[调整 Swappiness 值](#调整swappiness值)

8、[删除 Swap 文件](#删除swap文件)

9、[(#

10、[FAQs](#faqs)

1. [如何更改 Swap 文件的大小?](#如何更改swap文件的大小)

2. [在 64 位系统上,Swap 空间的最大大小是多少?](#在64位系统上Swap空间的最大大小是多少)

如何在CentOS中进行Swap空间的创建和管理?-图3
(图片来源网络,侵权删除)

Swap 简介

Swap 是操作系统在硬盘上开辟的一块空间,用于扩展物理内存,当系统的物理内存不足时,操作系统会把不常用的数据从内存移到 Swap 中,以释放内存供当前使用,虽然 Swap 的速度比物理内存慢很多,但它可以在一定程度上避免系统因内存不足而导致的性能问题甚至崩溃,合理配置 Swap 对系统的稳定性和性能至关重要。

检查系统当前的 Swap 信息

在配置 Swap 之前,首先需要检查系统中是否已经存在 Swap 以及其配置情况,可以使用以下命令来查看:

swapon s  # 列出所有 swap 设备及其使用情况
free m     # 查看内存和 swap 的使用情况

如果系统中不存在 Swap,swapon s 将不会返回任何内容,而free m 命令显示的 Swap 总量将为 0。

检查可用存储空间

在创建新的 Swap 文件之前,需要确保有足够的磁盘空间,可以使用df h 命令来检查文件系统的磁盘空间使用情况:

df h

根据输出结果,选择有足够剩余空间的分区来创建 Swap 文件。

创建 Swap 文件

创建 Swap 文件的过程非常简单,可以使用fallocatedd 命令来实现,这里推荐使用fallocate 命令,因为它速度更快。

使用 fallocate 命令创建 Swap 文件

假设我们创建一个 4GB 的 Swap 文件,命令如下:

sudo fallocate l 4G /swapfile

执行上述命令后,会创建一个名为/swapfile、大小为 4GB 的文件,如果fallocate 命令不可用,可以使用dd 命令代替:

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

使用 dd 命令创建 Swap 文件

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

上述命令会创建一个 4GB 的 Swap 文件,注意,bs=1M 表示块大小为 1MB,count=4096 表示块的数量为 4096,总大小为 4GB。

启用 Swap 文件

创建 Swap 文件后,需要将其格式化为 Swap 格式并启用:

sudo chmod 600 /swapfile  # 设置权限,仅 root 可读写
sudo mkswap /swapfile    # 格式化 swap 文件
sudo swapon /swapfile    # 启用 swap 文件

可以通过以下命令验证 Swap 是否已成功启用:

swapon s
free m

swapon s 应显示新添加的 Swap 文件,而free m 命令显示的 Swap 总量应增加相应的大小。

持久化配置

为了在系统重启后仍然保持 Swap 配置,需要修改/etc/fstab 文件,使系统启动时自动挂载 Swap 文件,编辑/etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

保存并关闭文件,这样,系统在每次启动时都会自动挂载/swapfile 作为 Swap。

调整 Swappiness 值

Swappiness 参数控制着系统使用 Swap 的频率,默认值为 60,即系统会优先使用物理内存,其次才是 Swap,可以根据需求调整这个值:

sudo sysctl vm.swappiness=10   # 临时调整为 10,立即生效

要永久更改此值,需要修改/etc/sysctl.conf 文件:

sudo nano /etc/sysctl.conf

添加或修改以下行:

vm.swappiness=10

然后执行以下命令使其立即生效:

sudo sysctl p

删除 Swap 文件

如果需要删除现有的 Swap 文件,可以按照以下步骤操作:

sudo swapoff /swapfile  # 禁用 Swap 文件
sudo rm /swapfile      # 删除 Swap 文件

然后从/etc/fstab 文件中删除对应的条目:

sudo nano /etc/fstab

找到以下行并删除:

/swapfile none swap sw 0 0

保存并关闭文件,这样,系统在重启后不会再尝试挂载该 Swap 文件。

通过以上步骤,可以在 CentOS 系统中成功地创建、启用和管理 Swap 文件,合理配置 Swap 对于系统的稳定性和性能至关重要,特别是在物理内存较小的情况下,定期检查和维护 Swap 文件也是保证系统正常运行的重要措施之一。

分享:
扫描分享到社交APP
上一篇
下一篇