温馨提示×

ubuntu swapper怎么用

小樊
35
2025-12-29 17:37:45
栏目: 智能运维

Ubuntu 中的 Swapper 使用指南

概念与用途

  • Swapper通常指 Ubuntu 的交换空间(Swap),用于在物理内存(RAM)不足时将部分数据移到磁盘,从而释放内存给其它进程。它可以是交换文件(swapfile)交换分区(swap partition)。一般经验是:当内存较小或需要休眠时,配置适量 Swap;在内存充足(如≥8GB)且不使用休眠的桌面/服务器场景,可以仅少量或不配置,以减少磁盘写入与性能抖动。

查看与监控

  • 查看是否已启用及大小:
    • 命令:sudo swapon --showcat /proc/swaps
  • 查看内存与交换总体使用:
    • 命令:free -h
  • 交互式查看(如已安装):
    • 命令:htop(或 glances

创建与启用

  • 方式一(推荐,灵活):创建交换文件
    1. 创建文件(示例为4GB):sudo fallocate -l 4G /swapfile
      • fallocate 失败,可用:sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
    2. 设置安全权限:sudo chmod 600 /swapfile
    3. 格式化为交换空间:sudo mkswap /swapfile
    4. 启用:sudo swapon /swapfile
    5. 开机自动启用:将 /swapfile none swap sw 0 0 追加到 /etc/fstab
      • 命令:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  • 方式二:使用交换分区
    1. 用分区工具(如 gparted)在未分配空间创建Linux swap 分区(假设为 /dev/sdXN
    2. 格式化:sudo mkswap /dev/sdXN
    3. 启用:sudo swapon /dev/sdXN
    4. 开机自动启用:在 /etc/fstab 添加 /dev/sdXN none swap sw 0 0
  • 验证:sudo swapon --show 应能看到新启用的 Swap。

调整与删除

  • 调整大小(以交换文件为例)
    1. 先停用:sudo swapoff /swapfile
    2. 调整文件大小(示例调整到8GB):
      • sudo fallocate -l 8G /swapfile(或 sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
    3. 重新格式化:sudo mkswap /swapfile
    4. 重新启用:sudo swapon /swapfile
  • 删除交换文件
    1. 停用:sudo swapoff /swapfile
    2. 删除文件:sudo rm /swapfile
    3. /etc/fstab 删除对应行
  • 调整多个交换项的优先级(数值越大优先级越高)
    • 启用时指定:sudo swapon -p 10 /swapfile
    • 或在 /etc/fstab 中为目标项追加 pri=10 参数。

常用优化与注意事项

  • 调整 swappiness(控制内核将数据换出到 Swap 的倾向,取值0–100
    • 查看:cat /proc/sys/vm/swappiness
    • 临时修改:sudo sysctl vm.swappiness=10
    • 永久修改:在 /etc/sysctl.conf 添加 vm.swappiness=10 后执行 sudo sysctl -p
  • 使用建议
    • 传统经验是 Swap 约为内存的1.5–2 倍;但在内存较大或对磁盘写入敏感的场景,可减小或不配置,避免频繁换页导致性能下降。
    • 若已存在足够的 Swap,通常无需再额外配置;在生产环境中,一些场景更倾向于使用交换分区以获得更稳定的性能表现(但现代 SSD 上差异已不明显)。

0