如何在Linux中查看系统的Swap使用率 Linux优化虚拟内存性能的方法

云静小哥_1207

云静小哥_1207

2026-06-01

975人浏览

原创

应使用 free -h 快速查看 swap 表面使用率,但需结合 vmstat 查 si/so 判断是否频繁换入换出,再用 swapon --show 确认设备类型、数量及优先级,避免仅凭 used 百分比误判系统健康状况。

如何在linux中查看系统的swap使用率 linux优化虚拟内存性能的方法

Swap 使用率不能只看百分比,得结合是否活跃换入换出、有没有多设备、优先级是否合理来判断——光看 free -h 里的 used 值,容易误判系统健康状况。

怎么看当前 Swap 占用比例(快速但有陷阱)

最直接的命令是 free -h,输出中 Swap 行的 used / total 就是表面使用率。比如 Swap: 2.0G 1.8G 200M,看起来用了 90%。

但要注意:

  • 这个 used 是内核已把页写入 swap 的累计量,不等于“正在被活跃访问”;进程退出后,这些页可能还留在 swap 里没回收
  • 如果 si 和 so(用 vmstat 1 5 查)持续为 0,哪怕 used 是 1.9G,也可能是历史残留,不用紧张
  • free 的单位是人类可读格式,但内部采样和 /proc/swaps 可能有毫秒级偏差,数值差几 MB 属正常

怎么确认 Swap 设备是否启用、类型和优先级

运行 swapon --show,它会列出所有当前生效的 swap 区域,字段包括 NAME、TYPE、SIZE、USED、PRIO。

关键点:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • TYPE 是 partition 还是 file?swapfile 在 ext4/xfs 上支持延迟分配,USED 计算方式可能和传统分区略有差异
  • PRIO 决定使用顺序:数值越大越优先。多个设备设相同 PRIO 时,内核轮询写入,能摊平 I/O 压力
  • 如果输出为空,说明根本没启用任何 swap——这时候谈“使用率”就没意义
  • 某些系统(如启用了 zram 的 Ubuntu)会在 swapon --show 中显示 zram0,它的 SIZE 是压缩后的内存容量,USED 是压缩后实际占用,和磁盘 swap 不是一回事

怎么判断 Swap 是否在频繁换入换出(真正影响性能的指标)

执行 vmstat 1 5,重点关注最后两列:si(swap-in,KB/s)和 so(swap-out,KB/s)。

典型问题信号:

  • 连续几秒 si 或 so > 0,尤其 > 100 KB/s,说明内核正大量搬运内存页,磁盘 I/O 会明显上涨
  • so 高 + free 中 MemAvailable 很低(比如
  • 如果 si 高但 so 几乎为 0,可能是某进程刚从 swap 换回,属于短暂行为,不必立即干预
  • 注意:部分云主机或容器环境(如 Docker Desktop for Linux)可能禁用 swap,此时 si/so 恒为 0,但 free 的 Swap 行可能仍显示非零值(因 cgroup memory limit 触发的伪 swap 行为)

哪些场景下 Swap 占满也不代表要扩容

别一看到 used == total 就急着加 swap 或调 vm.swappiness。

真实可用的判断依据:

  • 检查 dmesg | tail -20 有没有 Out of memory 或 Killed process —— 这才是 OOM 的铁证
  • 看 free -h 第二行的 available 值:只要还有几百 MB,内核就仍有余力调度,swap 满只是保守策略
  • 多个 swap 设备时,低 PRIO 的可能完全没触发,实际压力全压在高优先级那个上,扩容前先用 swapon --show 确认负载分布
  • 某些数据库(如 PostgreSQL)或 JVM 应用会主动锁定内存(mlock),导致可用内存减少、swap 被动升高,这时该调应用配置,而不是系统 swap

真正容易被忽略的是:swap 的存在意义不是“避免 OOM”,而是给内核腾出空间做缓存管理。很多线上服务在 swappiness=1 下长期跑着 80% swap 使用率,只要 si/so 平静、MemAvailable 充足、dmesg 干净,它就是健康的。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

linux 虚拟内存

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2513

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6070

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5702

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3353

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2845

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3079

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习