商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何清理不必要的Swap

如何清理不必要的Swap

  发布于2026-07-03 阅读(0)

扫一扫,手机访问

聊到系统优化,Swap空间的管理是个绕不开的话题。很多人习惯把Swap当成“救急粮”,内存不够了就往硬盘里倒腾。但一旦系统实际运行起来,频繁的换入换出反而会让性能大打折扣,尤其是在磁盘I/O本来就很紧张的服务器上。所以,清理不必要的Swap其实就是在给系统“减负”。

如何清理不必要的Swap

那么,具体该怎么做?

临时关闭Swap

有时候我们只是想测试一下在没有Swap的情况下系统的表现,或者只是临时释放被Swap占用的资源,这时候临时关闭的方法最合适,而且不会动到配置文件,重启后会恢复原状。

  1. 先确认一下系统中Swap的现状。直接运行:
    sudo swapon --show
    这个命令会列出当前所有被启用的Swap分区或Swap文件,一目了然。
  2. 确认无误后,临时关闭Swap:
    sudo swapoff -a
    这里的 -a 参数表示关闭所有Swap条目。执行后系统会尽力将Swap中的数据挪回物理内存,如果内存不够用,关闭过程可能会受阻,需要提前留意。
  3. 再跑一遍 sudo swapon --show,确认没有任何Swap分区或文件被启用。输出为空就说明搞定了。

永久关闭Swap

如果你确定这台机器以后永远都用不上Swap,那就可以一劳永逸地把它从系统启动项里剔除了。操作的核心在于修改 /etc/fstab 文件——这个文件决定了系统启动时要挂载哪些设备,其中就包括Swap。

  1. 用你习惯的编辑器打开 /etc/fstab,比如:
    sudo nano /etc/fstab
  2. 在文件里找到与Swap相关的条目。它看起来大概长这样:
    /dev/sdaX none swap sw 0 0
    或者也可能是一个文件路径,比如 /swapfile none swap sw 0 0。确保一眼就能认出来。
  3. 在那一行的行首加一个 # 号,把它注释掉。变成:
    # /dev/sdaX none swap sw 0 0
    注释比直接删除更稳妥,万一以后想恢复还能快速取消注释。
  4. 保存退出(在nano中按 Ctrl+X,然后 Y 确认,再 Enter 即可)。
  5. 重启系统让修改生效:
    sudo reboot
    重启完成后,Swap就彻底告别你的系统了。

调整Swap大小(可选)

完全关闭Swap太极端,但原先设置的大小又确实有点浪费?比较务实的做法是:保留Swap,但给它“瘦身”。调整大小的核心思路是用一个更小的Swap文件替换原先的。

  1. 创建一个新的Swap文件。比如想要2GB,就执行:
    sudo fallocate -l 2G /swapfile
    如果系统不支持 fallocate,也可以用传统的 dd 命令:sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  2. 设置正确的权限。Swap文件的权限必须足够严格,否则系统会发出安全警告:
    sudo chmod 600 /swapfile
  3. 把这个文件格式化为Swap格式:
    sudo mkswap /swapfile
  4. 启用这个新的Swap文件:
    sudo swapon /swapfile
  5. 验证一下新文件是否已经生效:
    sudo swapon --show
    应该能看到你刚创建的 /swapfile 出现在列表中。
  6. 为了让这个新Swap文件在重启后自动生效,需要将它写入 /etc/fstab。在文件末尾追加一行:
    /swapfile none swap sw 0 0
  7. 重启系统,确认一切正常后,旧的Swap文件就可以手动删除了。

通过这几种方式,你完全可以按需控制Swap的使用策略——是暂时关掉,永久禁用,还是换一个更合适的大小。

本文转载于:https://www.yisu.com/ask/87242994.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注