CentOS Swap 配置指南
目录
1、[Swap 简介](#swap简介)
2、[检查系统当前的 Swap 信息](#检查系统当前的swap信息)
3、[检查可用存储空间](#检查可用存储空间)
4、[创建 Swap 文件](#创建swap文件)
5、[启用 Swap 文件](#启用swap文件)
6、[持久化配置](#持久化配置)
7、[调整 Swappiness 值](#调整swappiness值)
8、[删除 Swap 文件](#删除swap文件)
9、[(#
10、[FAQs](#faqs)
1. [如何更改 Swap 文件的大小?](#如何更改swap文件的大小)
2. [在 64 位系统上,Swap 空间的最大大小是多少?](#在64位系统上Swap空间的最大大小是多少)
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 文件的过程非常简单,可以使用fallocate
或dd
命令来实现,这里推荐使用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 文件也是保证系统正常运行的重要措施之一。