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-swap2. 禁用交换文件swapoff /swapfile3. 禁用所有交换空间swapoff-a4. 详细模式禁用swapoff-v/dev/sda2输出示例swapoff /dev/sda25. 验证禁用结果swapon--showcat/proc/swapsfree-h输出格式说明成功执行# 无输出直接禁用成功详细模式输出swapoff /dev/sda2错误输出示例swapoff: /dev/sda2: swapoff failed: Cannot allocate memory实用技巧安全禁用交换空间# 检查当前交换使用情况free-h# 如果交换空间正在被大量使用先确保有足够内存if[$(free-m|grepMem|awk{print $4})-gt1000];thenechoEnough free memory, proceeding with swapoffswapoff /dev/sda2elseechoNot enough free memory to disable swapfi临时禁用交换进行维护# 禁用所有交换swapoff-a# 执行维护操作# ...# 重新启用交换swapon-a脚本中安全禁用#!/bin/bash# 检查是否有足够的空闲内存FREE_MEM$(free-m|grepMem|awk{print $4})USED_SWAP$(free-m|grepSwap|awk{print $3})echoFree memory:${FREE_MEM}MBechoUsed swap:${USED_SWAP}MBif[$FREE_MEM-gt$USED_SWAP];thenechoDisabling swap...swapoff-aechoSwap disabled successfullyelseechoError: Not enough free memory to disable swapexit1fi禁用交换后调整系统参数# 禁用交换swapoff-a# 设置 swappiness 为 0避免系统使用交换echo0/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常用于系统维护、性能测试或临时禁用交换的场景。