Linux命令:swapon
2026/6/2 12:54:05 网站建设 项目流程

swapon 命令

基本介绍

swapon是 Linux 系统中用于启用交换空间(swap space)的命令。交换空间是系统在物理内存不足时用于临时存储数据的磁盘空间,当物理内存被耗尽时,系统会将部分内存数据写入交换空间,以释放物理内存供其他进程使用。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

swapon [OPTIONS] [DEVICE]

常用选项

基本选项

  • -a, --all:启用/etc/fstab中所有标记为 swap 的设备
  • -e, --ifexists:仅在设备存在时启用
  • -f, --fixpgsz:忽略页面大小不匹配
  • -h, --help:显示帮助信息
  • -V, --version:显示版本信息

显示选项

  • -s, --summary:显示交换空间摘要信息
  • -v, --verbose:显示详细信息

优先级选项

  • -p, --priority=N:设置交换优先级(0-32767,数值越高优先级越高)

使用示例

1. 显示当前交换空间状态

swapon--showswapon-s

输出示例:

NAME TYPE SIZE USED PRIO /dev/sda2 partition 2G 512M -2 /dev/sda3 partition 4G 0B -3

2. 启用交换分区

swapon/dev/sda2swapon/dev/mapper/vg00-swap

3. 启用交换文件

swapon/swapfile

4. 启用所有配置的交换空间

swapon-a

5. 设置交换优先级

swapon-p10/dev/sda2swapon--priority=20/dev/sda3

6. 详细模式启用

swapon-v/dev/sda2

输出示例:

swapon /dev/sda2 swapon: /dev/sda2: found swap signature: version 1, page-size 4, same byte order swapon: /dev/sda2: pagesize=4096, swapsize=2147483648, devsize=2147483648

7. 查看详细信息

cat/proc/swaps

输出示例:

Filename Type Size Used Priority /dev/sda2 partition 2097148 524288 -2 /dev/sda3 partition 4194300 0 -3

输出格式说明

–show 选项输出

字段说明
NAME交换设备路径
TYPE类型(partition/file)
SIZE大小
USED已使用大小
PRIO优先级

/proc/swaps 输出

字段说明
Filename交换设备路径
Type类型
Size大小(KB)
Used已使用大小(KB)
Priority优先级

交换空间管理

创建交换文件

# 创建交换文件(2GB)fallocate-l2G /swapfile# 设置权限chmod600/swapfile# 格式化交换文件mkswap/swapfile# 启用交换文件swapon/swapfile

设置开机自动挂载

# 添加到 /etc/fstabecho'/swapfile none swap defaults 0 0'>>/etc/fstab# 验证配置swapon-a

调整交换优先级

# 在 /etc/fstab 中设置优先级echo'/dev/sda2 none swap pri=10 0 0'>>/etc/fstab# 重新启用swapon-a

实用技巧

检查交换空间使用情况

swapon--showcat/proc/swapsfree-h

监控交换使用

# 实时监控watch-n1'free -h && echo "---" && swapon --show'

优化交换性能

# 设置交换优先级(SSD优先)swapon-p32767/dev/nvme0n1p3swapon-p10/dev/sda2

临时禁用交换

# 禁用指定交换设备swapoff /dev/sda2# 禁用所有交换设备swapoff-a

脚本中使用

#!/bin/bash# 检查交换空间是否启用ifswapon--show|grep-q'/swapfile';thenecho"Swap file is already enabled"elseecho"Enabling swap file..."swapon/swapfilefi

相关命令

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

注意事项

  1. 权限要求swapon需要 root 权限
  2. 优先级设置:高优先级的交换设备会被优先使用
  3. 性能考虑:SSD 比 HDD 更适合作为交换设备
  4. 交换大小:通常建议设置为物理内存的 1-2 倍
  5. 配置文件/etc/fstab中配置开机自动挂载
  6. 查看状态:可以使用swapon --showcat /proc/swaps
  7. 禁用交换:使用swapoff命令禁用

总结

swapon是 Linux 系统中管理交换空间的重要工具。它可以启用交换分区或交换文件,设置交换优先级,并查看交换空间状态。合理配置交换空间对于系统性能至关重要,特别是在物理内存不足的情况下。通过swapon,系统管理员可以灵活地管理系统的虚拟内存资源。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询