centos swap空间扩容方案
导读:CentOS 7/8/9 环境下扩容 Swap 的常用做法与步骤 一、容量规划与现状检查 查看当前容量与使用情况 命令:free -h、swapon -s、cat /proc/swaps、grep SwapTotal /proc/me...
CentOS 7/8/9 环境下扩容 Swap 的常用做法与步骤
一、容量规划与现状检查
- 查看当前容量与使用情况
- 命令:free -h、swapon -s、cat /proc/swaps、grep SwapTotal /proc/meminfo
- 容量建议(不同版本与场景)
- RHEL/CentOS 6/7 官方建议:RAM≤2G 配 2×RAM;2–8G 配 RAM;8–64G 配 ≥4G;≥64G 配 ≥4G。
- RHEL/CentOS 5 历史建议:RAM≤4G 配 2G;4–16G 配 4G;16–64G 配 8G;64–256G 配 16G。
- 通用经验值:常设为物理内存的 1–2 倍(视负载与磁盘而定)。
- 原则:Swap 仅用于缓解内存压力,过度配置会增大 I/O 延迟;数据库、消息队列等对延迟敏感的业务应优先优化内存与架构。
二、方案一 使用 Swap 文件(通用、快速、可回滚)
- 步骤
- 创建文件(两种等效方式,二选一)
- 指定大小:dd if=/dev/zero of=/swapfile bs=1M count=4096(示例为 4GB)
- 直接指定容量:fallocate -l 4G /swapfile
- 设置权限(安全建议):chmod 600 /swapfile
- 格式化为 Swap:mkswap /swapfile
- 启用:swapon /swapfile
- 持久化:在 /etc/fstab 追加一行:/swapfile swap swap defaults 0 0
- 验证:free -h、swapon -s
- 创建文件(两种等效方式,二选一)
- 回滚
- 停用:swapoff /swapfile
- 删除:rm -f /swapfile
- 清理:/etc/fstab 中删除对应行
- 说明
- 使用文件方式无需调整分区表,适合云主机与大多数物理机;若 fallocate 失败(某些文件系统/虚拟化环境),改用 dd 更稳妥。
三、方案二 使用独立分区(传统方式,适合有单独磁盘/分区场景)
- 步骤
- 分区:使用 fdisk /dev/sdX 新建分区,类型设为 Linux swap(82)
- 格式化:mkswap /dev/sdX1
- 启用:swapon /dev/sdX1
- 持久化:/etc/fstab 添加 /dev/sdX1 swap swap defaults 0 0
- 验证:free -h、swapon -s
- 适用:已有独立磁盘或希望与其他数据分区隔离的场景。
四、方案三 使用 LVM 逻辑卷扩容(系统使用 LVM 时推荐)
- 前置检查
- 确认 Swap 是否为 LVM:例如 swapon -s 显示 /dev/mapper/centos-swap;lvdisplay 查看 LV 路径与大小;vgdisplay 查看卷组剩余空间
- 步骤
- 停用现有 Swap:swapoff /dev/mapper/centos-swap
- 扩容 LV(示例加 2G):lvextend -L +2G /dev/mapper/centos-swap
- 重新写入 Swap 签名:mkswap /dev/mapper/centos-swap
- 启用:swapon /dev/mapper/centos-swap
- 验证:free -h、swapon -s
- 说明
- 若需缩容,先停用、缩小 LV 后再 mkswap 与启用;操作前务必确认 VG 有充足空闲空间。
五、参数调优与运维建议
- 调整倾向性(示例设为 30,范围 0–100,默认通常为 60)
- 临时:sysctl vm.swappiness=30
- 永久:在 /etc/sysctl.conf 添加 vm.swappiness=30 并执行 sysctl -p
- 多 Swap 优先级
- 在 /etc/fstab 为不同 Swap 项设置优先级(pri= 值越大优先级越高),例如:/swapfile swap swap defaults,pri=10 0 0
- 存储与寿命
- 在 SSD 上启用 Swap 会增加写入;对写入寿命敏感的环境可考虑将 Swap 放在 HDD 或使用内存更大的实例
- 安全与验证
- Swap 文件权限建议 0600;变更后用 free -h、swapon -s、cat /proc/swaps 复核;变更 /etc/fstab 前先备份,变更后用 mount -a 校验无语法错误再重启。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos swap空间扩容方案
本文地址: https://pptw.com/jishu/769841.html
