温馨提示×

Linux Swap激活方法

小樊
44
2025-11-16 12:39:02
栏目: 智能运维

Linux Swap 激活方法

一 检查当前 Swap 状态

  • 查看内存与 Swap 概览:free -hfree -m
  • 查看已启用的 Swap:swapon --showswapon -s
  • 若 Swap 容量为 0 或未列出条目,说明尚未启用或不存在 Swap。

二 使用 Swap 文件激活(通用、灵活)

  • 1)创建 Swap 文件
    • 推荐先检查磁盘空间:df -h
    • 快速创建(若支持):sudo fallocate -l 2G /swapfile
    • 兼容性创建:sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  • 2)设置安全权限:sudo chmod 600 /swapfile
  • 3)格式化为 Swap:sudo mkswap /swapfile
  • 4)立即激活:sudo swapon /swapfile
  • 5)验证:free -hswapon --show
  • 6)持久化(重启后自动启用):echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  • 7)可选优化(减少换出倾向,服务器常用):
    • 临时:sudo sysctl vm.swappiness=10
    • 永久:echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
    • 文件系统缓存压力:sudo sysctl vm.vfs_cache_pressure=50 并写入 /etc/sysctl.conf

三 使用 Swap 分区激活(已有专用分区时)

  • 假设已有交换分区为 /dev/sdXN(请替换为实际设备名)
  • 1)格式化分区:sudo mkswap /dev/sdXN
  • 2)立即激活:sudo swapon /dev/sdXN
  • 3)验证:swapon --showfree -h
  • 4)持久化:编辑 /etc/fstab,添加一行
    • /dev/sdXN none swap swap defaults 0 0
  • 5)如为云盘或虚拟化环境,确认该分区未被其他用途占用,并优先使用持久化设备路径或 UUID(可用 blkid 查询)。

四 关闭与删除 Swap(按需)

  • 临时关闭全部 Swap:sudo swapoff -a
  • 关闭指定文件/分区:sudo swapoff /swapfilesudo swapoff /dev/sdXN
  • 删除文件后,记得从 /etc/fstab 移除对应行,避免开机失败
  • 验证:free -h 确认 Swap 已为 0

五 常见问题与建议

  • 权限必须严格:chmod 600 仅允许 root 读写,防止信息泄露与安全风险
  • 大小建议(经验值,按工作负载调整):
    • 物理内存 ≤ 2GB:Swap ≈ 内存的 2 倍
    • 物理内存 2GB~8GB:Swap ≈ 内存大小
    • 物理内存 > 8GB:Swap 至少 4GB
  • 性能提示:Swap 位于磁盘,I/O 较慢,过度使用会影响性能;在内存紧张且无法扩容时,可结合调整 vm.swappiness 与监控 OOM 行为。

0