当前位置:首页 > Linux > 正文

linux下如何查看交换分区

通过 swapon -sfree -h 命令可查看 Linux 交换分区状态

在 Linux 系统中,交换分区(Swap)是用于扩展物理内存的虚拟存储区域,当系统内存不足时,会将部分数据暂存到交换分区以缓解内存压力,以下是查看交换分区的详细方法及相关操作解析:

常用命令详解

命令 功能描述 输出关键信息
swapon --show 直接显示当前激活的交换分区信息 设备路径、类型、大小、已用空间、优先级
free -h 查看系统内存及交换分区的使用概况 总内存、已用/可用内存、交换分区总量及使用情况
cat /proc/swaps 读取系统进程虚拟文件,展示交换分区状态 设备路径、类型、容量、已用比例、是否启用

swapon --show 命令

此命令专为查询交换分区设计,输出简洁直观。

$ swapon --show
FILENAME       TYPE      SIZE      USED PRIORITIY
/dev/sda2      partition 2048M     0B      -2
/swapfile      file      2G        100M     -3
  • 字段解析
    • FILENAME:交换分区的设备路径或交换文件位置。
    • TYPE:交换分区的类型(partitionfile)。
    • SIZE:交换分区总容量。
    • USED:已使用的交换空间。
    • PRIORITITY:交换分区的优先级(值越低优先级越高)。

free -h 命令

此命令综合展示内存和交换分区的使用情况,适合快速查看整体状态:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.1G        4.5G        90M        1.2G        5.6G
Swap:          2.0G        100M        1.9G
  • Swap 行解析
    • total:交换分区总容量。
    • used:已使用的交换空间。
    • free:可用的交换空间。

cat /proc/swaps 命令

此命令直接读取内核态交换分区状态,输出格式与 swapon --show 类似,但包含更多细节:

$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/sda2                             2048M   0B      -2
/swapfile                              2G       100M    -3

其他相关命令

tophtop 命令

在交互式系统监控工具(如 tophtop)中,第一行会显示交换分区的使用情况:

linux下如何查看交换分区  第1张

Swap:      2G        100M        1.9G

Shift+M 可按内存使用排序,辅助定位占用较高的进程。

df -h 命令

虽然 df 主要用于查看文件系统磁盘使用情况,但通过指定交换分区路径也可查询:

$ df -h /dev/sda2
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       2G   100M    1.9G   5% [SWAP]

blkid 命令

用于识别块设备的UUID及类型,可验证交换分区是否被正确标记:

$ blkid /dev/sda2
/dev/sda2: UUID="xxxx-xxxx-xxxx-xxxx" TYPE=swap

交换分区的管理操作

创建交换分区

若系统无交换分区,可通过以下步骤创建:

# 创建交换文件(替代分区)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 写入 /etc/fstab 以开机自动启用
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

禁用交换分区

临时禁用:

sudo swapoff /dev/sda2

永久禁用:编辑 /etc/fstab,注释或删除交换分区条目。

常见问题解答(FAQs)

问题1:如何增加交换分区容量?

解答

  1. 新建更大的交换文件或分区;
  2. 删除旧交换配置(swapoff 并移除 /etc/fstab 条目);
  3. 启用新交换空间并更新 /etc/fstab

问题2:交换分区优先级如何调整?

解答
通过 swapon 命令的 -p 参数设置优先级(范围 -1~32767),

sudo swapon -p -1 /dev/sda2  # 设置为最高优先级

在 Linux 中,交换分区的管理是系统维护的重要环节,掌握 swapon --showfree -h/proc/swaps 等命令的使用,可有效监控交换分区的状态,结合实际需求,还可通过调整优先级、创建交换

0