欢迎光临
我们一直在努力

Linux命令:swapoff

swapoff 命令

基本介绍

swapoff 是 Linux 系统中用于禁用交换空间(swap space)的命令。它与 swapon 命令相对应,用于停止使用指定的交换分区或交换文件,将交换空间中的数据写回物理内存。

资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a

语法

swapoff [OPTIONS] [DEVICE]

常用选项

基本选项

  • -a, –all:禁用 /etc/fstab 中所有标记为 swap 的设备
  • -e, –ifexists:仅在设备存在时禁用
  • -h, –help:显示帮助信息
  • -V, –version:显示版本信息

显示选项

  • -v, –verbose:显示详细信息

使用示例

1. 禁用指定交换分区

swapoff /dev/sda2
swapoff /dev/mapper/vg00-swap

2. 禁用交换文件

swapoff /swapfile

3. 禁用所有交换空间

swapoff -a

4. 详细模式禁用

swapoff -v /dev/sda2

输出示例:

swapoff /dev/sda2

5. 验证禁用结果

swapon –show
cat /proc/swaps
free -h

输出格式说明

成功执行

# 无输出,直接禁用成功

详细模式输出

swapoff /dev/sda2

错误输出示例

swapoff: /dev/sda2: swapoff failed: Cannot allocate memory

实用技巧

安全禁用交换空间

# 检查当前交换使用情况
free -h

# 如果交换空间正在被大量使用,先确保有足够内存
if [ $(free -m | grep Mem | awk '{print $4}') -gt 1000 ]; then
echo "Enough free memory, proceeding with swapoff"
swapoff /dev/sda2
else
echo "Not enough free memory to disable swap"
fi

临时禁用交换进行维护

# 禁用所有交换
swapoff -a

# 执行维护操作
# …

# 重新启用交换
swapon -a

脚本中安全禁用

#!/bin/bash

# 检查是否有足够的空闲内存
FREE_MEM=$(free -m | grep Mem | awk '{print $4}')
USED_SWAP=$(free -m | grep Swap | awk '{print $3}')

echo "Free memory: ${FREE_MEM}MB"
echo "Used swap: ${USED_SWAP}MB"

if [ "$FREE_MEM" -gt "$USED_SWAP" ]; then
echo "Disabling swap…"
swapoff -a
echo "Swap disabled successfully"
else
echo "Error: Not enough free memory to disable swap"
exit 1
fi

禁用交换后调整系统参数

# 禁用交换
swapoff -a

# 设置 swappiness 为 0(避免系统使用交换)
echo 0 > /proc/sys/vm/swappiness

相关命令

  • swapon:启用交换空间
  • mkswap:格式化交换分区或文件
  • free:显示内存和交换空间使用情况
  • vmstat:显示虚拟内存统计信息
  • /proc/swaps:交换空间信息文件
  • fallocate:创建文件
  • dd:创建文件(可用于创建交换文件)

注意事项

  • 权限要求:swapoff 需要 root 权限
  • 内存要求:禁用交换空间前需要确保有足够的物理内存
  • 数据迁移:禁用时会将交换空间中的数据写回物理内存
  • 系统性能:如果内存不足,禁用交换可能导致系统变慢或进程被杀死
  • 配置文件:/etc/fstab 中的配置不会被 swapoff 修改
  • 临时操作:swapoff 只是临时禁用,重启后会恢复
  • 错误处理:如果内存不足,会显示 “Cannot allocate memory” 错误
  • 总结

    swapoff 是 Linux 系统中用于禁用交换空间的工具。它与 swapon 命令相对应,用于停止使用指定的交换分区或交换文件。禁用交换空间前需要确保系统有足够的物理内存,否则可能导致系统性能下降或进程被杀死。swapoff 常用于系统维护、性能测试或临时禁用交换的场景。

    赞(0)
    未经允许不得转载:171主机测评 » Linux命令:swapoff
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址