温馨提示×

怎么检查CentOS Swap的状态

小樊
54
2026-07-19 09:30:25
栏目: 智能运维

CentOS 系统中,可以通过以下几种常用方式检查 Swap(交换分区/交换文件) 的状态。


一、查看 Swap 是否启用及使用情况

1️⃣ 使用 free 命令(最常用)

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        1.2G        2.3G        120M        4.3G        6.1G
Swap:          2.0G        0B          2.0G

✅ 说明:

  • Swap 行
    • total:Swap 总大小
    • used:已使用 Swap
    • free:剩余 Swap
  • 如果 total = 0,说明 没有启用 Swap

2️⃣ 使用 swapon 命令(推荐)

swapon --show

✅ 正常输出示例:

NAME      TYPE      SIZE USED PRIO
/dev/sda2 partition 2G   0B   -2

❌ 如果没有任何输出,说明 当前系统没有启用 Swap

还可以查看详细信息:

swapon -s

二、查看系统 Swap 配置

3️⃣ 查看 /proc/swaps

cat /proc/swaps

输出示例:

Filename				Type		Size	Used	Priority
/dev/sda2                               partition	2097148	0	-2

三、查看 Swap 是否是文件或分区

4️⃣ 查看磁盘分区中是否有 Swap 分区

lsblk

或:

fdisk -l

Swap 分区类型通常是:

  • Linux swap(分区 ID:8219

四、查看 Swap 使用历史(高级)

5️⃣ 使用 vmstat

vmstat 1 5

关注 swap 列:

  • si:swap in(从 swap 读入内存)
  • so:swap out(从内存写入 swap)

频繁非零说明 内存压力大


五、CentOS 7 / 8 / Stream 通用 ✅

以上命令 全部适用于

  • CentOS 7
  • CentOS 8
  • CentOS Stream 8 / 9

六、如果 Swap 没启用怎么办?

检查是否有 swap 文件/分区但未激活

swapon -a

创建 swap(如需要)

dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

永久生效(写入 /etc/fstab):

/swapfile swap swap defaults 0 0

总结(快速判断)

一条命令速查

free -h && swapon --show

如果你愿意,可以把 free -hswapon --show 的输出贴出来,我可以帮你判断 Swap 是否正常、是否需要优化

0