在CentOS系统中,交换内存(Swap)是物理内存的补充,当系统物理内存不足时,Swap可以暂时将部分数据写入磁盘,从而避免系统因内存耗尽而崩溃,合理配置Swap空间对于提升系统稳定性和运行效率至关重要,本文将详细介绍如何在CentOS系统中增加交换内存,包括Swap空间的大小选择、创建步骤、权限设置以及启用方法等内容,帮助用户根据实际需求优化系统内存管理。

确定Swap空间大小
在增加Swap之前,需要根据系统的实际内存和使用场景合理规划Swap容量,通常建议Swap大小为物理内存的1-2倍,但如果系统内存较大(如超过16GB),可适当减少比例,例如设置为与物理内存相等或略低,一台拥有8GB物理内存的服务器,可配置8GB-16GB的Swap空间,对于数据库或虚拟化等高负载场景,建议适当增加Swap容量,以确保系统在高并发下的稳定性。
创建Swap文件
在CentOS中,Swap空间可以通过创建独立分区或普通文件来实现,由于灵活性和便捷性,更多用户选择通过文件方式创建Swap,以下是具体操作步骤:
使用fallocate命令快速创建指定大小的Swap文件,例如创建8GB的Swap文件:
sudo fallocate -l 8G /swapfile
如果fallocate命令不可用(如某些文件系统不支持),可通过dd命令创建:
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
bs=1G表示块大小为1GB,count=8表示创建8个块,总大小为8GB。
设置文件权限
Swap文件包含敏感的系统数据,需严格限制访问权限,仅允许root用户读写,防止其他用户恶意访问,执行以下命令修改权限:
sudo chmod 600 /swapfile
通过ls -lh /swapfile可查看文件权限是否正确(显示为-rw-------)。

格式化Swap文件
使用mkswap命令将文件格式化为Swap格式:
sudo mkswap /swapfile
命令执行后,系统会输出Swap文件的详细信息(如UUID、大小等),表示格式化成功。
启用Swap空间
启用Swap空间使用swapon命令:
sudo swapon /swapfile
为使Swap在系统重启后自动生效,需将其写入/etc/fstab文件,编辑该文件,添加以下行:
/swapfile swap swap defaults 0 0
建议使用UUID方式挂载,可通过blkid /swapfile获取Swap文件的UUID,然后替换/swapfile。
验证Swap状态
启用后,可通过以下命令验证Swap是否生效:
free -h
或查看Swap使用情况:

swapon --show
若输出中包含/swapfile且大小正确,则表示Swap已成功启用。
调整Swap参数(可选)
为提升Swap性能,可调整系统内核参数,编辑/etc/sysctl.conf文件,添加以下配置:
vm.swappiness=10 vm.vfs_cache_pressure=50
swappiness值控制Swap使用频率(默认为60,建议调整为10-30,优先使用物理内存);vfs_cache_pressure控制文件系统缓存回收策略(默认为100,建议调整为50-100),执行sysctl -p使配置生效。
FAQs
Q1:如何删除已创建的Swap文件?
A1:首先通过sudo swapoff /swapfile禁用Swap,然后删除文件sudo rm /swapfile,并编辑/etc/fstab文件,删除对应的Swap挂载条目,最后重启系统使配置完全生效。
Q2:Swap空间是否越大越好?
A2:并非越大越好,过大的Swap空间可能导致磁盘I/O压力增加,降低系统响应速度,建议根据物理内存大小和使用场景合理配置,一般不超过物理内存的2倍,对于高内存服务器(如32GB以上),Swap设置为物理内存的50%-100%即可满足需求。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复