最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 如何使用 free 命令查看 swap 交换区使用率
时间:2026-08-29 19:39:48 编辑:袖梨 来源:一聚教程网
直接看free -h输出中Swap行的used和total即可计算使用率,例如480M/2.0G≈24%;若接近90%需警惕内存压力,但swap占用高不等于性能瓶颈,关键看vmstat中si/so是否持续大于100KB/s。
直接看 `free -h` 输出中 Swap 行的 used 和 total 就行,这是最快、最直观的方式。怎么看 swap 使用率(一眼识别)
在终端运行:
free -h
找到输出中的 Swap 行,例如:
Swap: 2.0G 480M 1.5G
- total:交换区总大小(这里是 2.0G)
- used:当前已用空间(这里是 480M)
- free:剩余可用空间(这里是 1.5G)
使用率 ≈ used ÷ total。比如 480M / 2.0G ≈ 24%,属于正常范围;若接近 90%(如 1.8G / 2.0G),就要警惕内存压力了。
注意别被“available”误导
`free` 输出里 Mem 行的 available 是物理内存估算值,和 swap 无关。Swap 是否启用、用了多少,只看 Swap 行的 used 列——哪怕 used 是 0B,也说明当前没走磁盘交换;哪怕 used 是 1.2G,只要 si/so 为 0,也可能只是历史残留,未必正在拖慢系统。
想持续观察 swap 变化?加刷新参数
- 每 2 秒刷新一次:
free -h -s 2 - 刷新 5 次后自动退出:
free -h -s 2 -c 5 - 配合宽模式看更全字段:
free -h -w -s 1
这样能直观看到 used 值是否跳变,再结合 vmstat 1 看 si/so 列,才能判断是不是真在频繁换页。
swap 占用高 ≠ 必须扩容
真正影响性能的是交换活动(swap in/out),不是占用数字本身:
- 如果
vmstat 1 5中 si 和 so 长期为 0,哪怕 used 达到 1.5G,也不代表当前有瓶颈 - 如果 si 或 so 持续大于 100 KB/s,说明内核正反复搬运内存页,磁盘 I/O 上升、响应变卡,这时才需要查内存大户或考虑加 RAM
- zram/zswap 等压缩交换机制会让 free 把它算进 Swap,但实际不占磁盘,/proc/swaps 可能不显示——这种情况 used 高但无 I/O 压力,属正常