给CentOS 增加交换空间(Swap)

主要是解决物理内存不够问题

一、查看状态

查看内存占用情况:

free -h

使用 top 或 htop 检查其他进程是否占用过多内存,特别是在没有交换空间的情况下,内存较紧张时,其他进程可能影响你的服务器启动。

top

可以通过 kill 命令 来关闭进程,减少服务器内存占用:

kill <id>

二、增加交换空间(Swap)

由于系统没有交换空间(Swap),你可以为系统添加一个交换文件来扩展虚拟内存。即使你的物理内存不足,交换空间可以提供额外的缓冲,避免程序崩溃。

2.1 创建交换文件

创建一个 2GB 的交换文件:

sudo fallocate -l 2G /swapfile

如果 fallocate 不可用,可以使用 dd 命令:

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

2.2 设置交换文件权限

确保交换文件的权限是安全的,只有 root 用户可以访问:

sudo chmod 600 /swapfile

2.3 设置交换空间

将文件设置为交换空间:

sudo mkswap /swapfile

2.4 启用交换空间

启用交换文件:

sudo swapon /swapfile

2.5 自动挂载交换文件

为了在重启后自动启用交换空间,需要编辑 /etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

2.6 设置虚拟内存使用优先级

Swappiness的范围是从0到100,较低的值会使系统尽量避免使用swap,而较高的值会让系统更积极地使用swap

vim /etc/sysctl.conf
/etc/sysctl.conf

虽然提高swappiness可以使系统更倾向于使用swap,但这并不意味着所有应用都会“直接走虚拟内存”。相反,这只是一个策略上的调整,帮助系统更好地平衡内存和swap的使用。

文章引用来自:https://a-hxin.cn/archives/1067/

最后修改:2025 年 02 月 23 日
如果觉得我的文章对你有用,请随意赞赏~