温馨提示×

CentOS Swap更新和维护指南

小樊
53
2025-08-10 10:58:43
栏目: 智能运维

一、Swap更新与维护核心操作

1. 查看Swap状态

  • 查看当前Swap使用量及配置:
    free -hswapon --show
  • 查看详细内存信息(含Swap):
    cat /proc/meminfo

2. 调整Swap大小

  • 新增Swap文件(推荐):
    1. 创建文件(如4GB):
      sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
    2. 格式化并启用:
      sudo mkswap /swapfile
      sudo swapon /swapfile
    3. 永久生效:编辑 /etc/fstab,添加 /swapfile swap swap defaults 0 0
  • 调整现有Swap分区
    1. 禁用Swap:sudo swapoff /dev/sdXnsdXn为分区路径)。
    2. 调整分区大小(需LVM等工具)或重新创建分区。
    3. 重新启用并更新/etc/fstab

3. 优化Swappiness参数

  • 作用:控制系统使用Swap的倾向性(0-100,值越低越依赖物理内存)。
  • 临时修改sudo sysctl vm.swappiness=10
  • 永久生效:编辑 /etc/sysctl.conf,添加 vm.swappiness=10,执行 sudo sysctl -p
    建议:物理内存≥8GB时设为10-20,内存紧张时可设为60。

4. 清理Swap无用数据

  • 安全清理
    1. 禁用Swap:sudo swapoff -a
    2. 重新启用:sudo swapon -a(会清除未使用数据)。
  • 强制清理(谨慎使用)
    dd命令覆盖Swap文件(仅适用于非关键场景):
    sudo dd if=/dev/zero of=/swapfile bs=1M count=1024(需先禁用Swap)。

二、维护注意事项

  1. 避免过度依赖Swap

    • 若Swap使用率长期>20%,建议增加物理内存。
    • 云服务器需注意:频繁使用Swap可能导致磁盘损耗(尤其是SSD)。
  2. 监控与告警

    • 定期执行 watch -n 60 free -h 或设置cron任务记录Swap使用情况。
    • 通过vmstat 1监控交换活动(si/so列高表示频繁交换,需优化)。
  3. 删除Swap的注意事项

    • 操作前确保有足够物理内存,避免系统OOM。
    • 需同时修改/etc/fstab并更新GRUB配置(仅限传统引导)。

三、参考命令速查表

场景 命令 来源
查看Swap状态 free -hswapon --show
启用Swap文件 sudo swapon /swapfile
禁用Swap sudo swapoff -a
调整Swappiness sudo sysctl vm.swappiness=10(临时)
echo "vm.swappiness=10" >> /etc/sysctl.conf(永久)

0