CentOS 上扩展 Swap 分区的大小

在 CentOS 上扩展 Swap 分区的大小可以通过以下几种方式实现:


方法 1:增加 Swap 文件(推荐)

如果你的 Swap 是基于文件的(而不是分区),你可以增加 Swap 文件的大小,而不需要修改磁盘分区。

步骤 1:创建新的 Swap 文件

bash 复制代码
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

这里 count=4096 代表创建 4GB 大小的 Swap 文件,你可以根据需要修改大小。

步骤 2:设置 Swap 文件权限

bash 复制代码
sudo chmod 600 /swapfile

步骤 3:格式化 Swap 文件

bash 复制代码
sudo mkswap /swapfile

步骤 4:启用新的 Swap 文件

bash 复制代码
sudo swapon /swapfile

步骤 5:确认 Swap 变更

bash 复制代码
free -h

步骤 6:永久生效

编辑 /etc/fstab 文件:

bash 复制代码
sudo nano /etc/fstab

添加以下内容:

复制代码
/swapfile swap swap defaults 0 0

保存并退出后,使其永久生效。


方法 2:扩展 Swap 分区(仅适用于 Swap 分区)

如果你的 Swap 直接是一个分区(比如 /dev/sda2),你可以扩展 Swap 分区的大小。

步骤 1:关闭当前 Swap

bash 复制代码
sudo swapoff -a

步骤 2:调整 Swap 分区

使用 fdiskpartedlvextend(如果使用 LVM)调整分区大小。例如:

bash 复制代码
sudo lvextend -L +4G /dev/centos/swap

步骤 3:重新格式化 Swap

bash 复制代码
sudo mkswap /dev/centos/swap

步骤 4:重新启用 Swap

bash 复制代码
sudo swapon /dev/centos/swap

步骤 5:确认更改

bash 复制代码
free -h

方法 3:调整 Swapiness(可选)

增加 Swap 大小后,你可能需要调整 swappiness 参数,使其更符合你的需求。

bash 复制代码
sudo sysctl vm.swappiness=10

swappiness 设置为 10(默认值通常为 60),可以减少系统对 Swap 的依赖,提高性能。

如果希望永久生效:

bash 复制代码
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

总结

方法 适用场景 难度 是否需要重启
方法 1(增加 Swap 文件) 适用于任何情况 简单
方法 2(扩展 Swap 分区) 仅适用于 Swap 分区 中等 可能需要
方法 3(调整 swappiness) 适用于所有情况 简单

如果你的 Swap 是文件,方法 1 是最简单和推荐的方式。如果 Swap 是分区,并且你希望扩展它,则使用 方法 2 。调整 swappiness 可以优化 Swap 相关的性能。

相关推荐
柱子子子子2 分钟前
Ubuntu24.04 不能使用todesk 解决办法
运维·服务器
BJ_Bonree27 分钟前
圆桌论坛精华实录 | AI是重构运维逻辑的颠覆性革命?博睿数据与行业大咖亲授“AI+可观测性”的破局之道
运维·人工智能·重构
鱼干~28 分钟前
electron基础
linux·javascript·electron
apocelipes38 分钟前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程
冬夜戏雪1 小时前
【尚庭公寓152-157】[第6天]【配置阿里云号码认证服务】
运维·服务器
恋上钢琴的虫1 小时前
openEuler上安装高版本的docker
运维·docker·容器
森语林溪1 小时前
大数据环境搭建从零开始(十四)CentOS 7 系统更新源更换详解:阿里云镜像源配置完整指南
大数据·linux·运维·阿里云·centos
Fanmeang2 小时前
华为交换机VLAN技术详解:从基础到高级应用
运维·网络·华为·vlan·交换机·mux vlan
Y淑滢潇潇2 小时前
RHCE Day3 DNS服务器
运维·服务器
半梦半醒*2 小时前
k8s——service详解
linux·运维·docker·容器·kubernetes