温馨提示×

怎样查看swap使用情况

小樊
46
2026-08-11 23:56:49
栏目: 编程语言

在 Linux 系统中,可以通过以下几种常用方式查看 swap(交换分区/交换文件)的使用情况


一、最常用:free

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.1G        1.2G        120M        4.5G        5.2G
Swap:          2.0G        512M        1.5G

说明:

  • Swap total:swap 总量
  • Swap used:已使用 swap
  • Swap free:剩余 swap
  • -h:以人类可读方式显示(G/M)

二、查看 swap 详细信息:swapon

swapon --show

示例:

NAME      TYPE      SIZE USED PRIO
/swapfile file        2G 512M   -2

说明:

  • NAME:swap 分区或文件
  • TYPE:partition 或 file
  • SIZE:总大小
  • USED:已使用
  • PRIO:优先级

三、查看内存和 swap 汇总:vmstat

vmstat

关注:

swpd  free  buff  cache
  • swpd:已使用的 swap(KB)

四、实时查看:top / htop

1️⃣ top

top

在输出中能看到:

MiB Swap:   2048.0 total,   1536.0 free,    512.0 used

2️⃣ htop(更直观,需安装)

htop

底部会显示 swap 使用情况。


五、查看 swap 被哪些进程使用(进阶)

for file in /proc/*/status; do
    awk '/^Pid:|^Name:|VmSwap/{print $0}' "$file" 2>/dev/null
done | grep -A2 VmSwap | grep -v "^--$"

或更简单(推荐):

grep VmSwap /proc/*/status | sort -k2 -n -r | head

示例:

/proc/1234/status:VmSwap:  256 kB

六、查看 swap 是否在用(性能判断)

vmstat 1

如果 si(swap in)和 so(swap out)长期不为 0,说明系统频繁使用 swap,可能存在内存不足。


七、临时关闭 / 开启 swap(了解即可)

sudo swapoff -a   # 关闭
sudo swapon -a    # 开启

✅ 总结推荐

目的 命令
快速查看 free -h
查看 swap 来源 swapon --show
实时分析 top / htop
查进程占用 grep VmSwap /proc/*/status

如果你是想 判断 swap 是否影响性能是否该加内存,可以把 free -hvmstat 1 的输出发我,我可以帮你分析。

0