Linux怎么查看swap使用_Linux如何检查交换空间占用【技巧】

胖宇小哥_2888

胖宇小哥_2888

2026-03-23

797人浏览

原创

free -h 最快查看 swap 使用量,swap 行的 used 值即当前已用交换空间;若接近 total(如 1.9g/2.0g)则告急,但需结合 si/so(vmstat)判断是否频繁换入换出,而非仅看占用率。

linux怎么查看swap使用_linux如何检查交换空间占用【技巧】

swap用了多少,一眼看懂的三个命令

直接看 free -h 最快——它把物理内存和 swap 合并在一行输出,Swap 行的 used 值就是当前已用交换空间。如果这个值接近 total(比如 1.9G / 2.0G),说明 swap 快撑不住了。

  • swapon --show 能看到 swap 设备类型(partition/file)、大小、优先级(PRIO),适合确认系统到底挂载了几个 swap、哪个在生效
  • cat /proc/swaps 输出最原始,字段对齐严格,适合脚本解析;注意 Used 单位是 KB,不是 MB
  • 别只盯着 free 的 available 看——那是物理内存的可用量,和 swap 无关;swap 是否被用,只看 Swap 行的 used

swap 正在频繁进出?查 si/so 才算真忙

swap 占用高 ≠ 一定有问题;真正伤性能的是“频繁换入换出”,这会导致磁盘 I/O 暴涨、响应卡顿。这时候得看 vmstat 1 5 的 si(swap in)和 so(swap out)列:

  • 连续几秒 si 或 so > 0,尤其 > 100 KB/s,说明内核正拼命搬页,大概率内存不足
  • top 或 htop 顶部也会显示 swap 使用率,但不反映活跃度;它们更适合同步看哪些进程 RSS 高、正在吃内存
  • 如果 si/so 为 0,哪怕 Swap: used 是 1.5G,也可能是历史残留(比如某程序刚退出,页还没回收),不用急着扩容

为什么 /proc/meminfo 里的 SwapTotal 和 free 不一致?

这是常见困惑点:cat /proc/meminfo | grep -i swap 显示的 SwapTotal 和 SwapFree 理论上应该等于 free 的 Swap 行,但偶尔会差一点——原因很实在:

  • /proc/meminfo 是内核实时统计,free 是对它的封装,两者采样时刻可能有毫秒级偏差
  • 如果系统启用了 zram 或 zswap,部分“swap”实际压在内存里,free 会把它算进 Swap,但 /proc/swaps 可能不列出(因为没真实块设备)
  • 某些发行版(如 Ubuntu 22.04+)默认用 swapfile 而非 swap partition,文件系统碎片或延迟分配可能导致 Used 计算方式微调

swap 占满但系统没卡?先别急着加 swap

swap used 100% 并不自动等于“要崩”。Linux 的设计逻辑是:宁可多用 swap,也不轻易 OOM kill 进程。所以得结合其他指标交叉判断:

  • 看 MemAvailable(/proc/meminfo 或 free -h 第二行)是否远大于 0——只要还有几百 MB 可用内存,swap 满只是保守策略
  • 检查 dmesg | tail -20 有没有 Out of memory 或 Killed process——这才是真危险信号
  • 如果 swapon --show 显示多个 swap 设备且 PRIO 不同,低优先级的可能根本没触发,实际负载全压在高优先级那个上

swap 容量不是越大越好;过大的 swap file 会拖慢 swapon 初始化,而 swap partition 扩容又得动分区表——真要调,优先从识别内存泄漏进程入手,而不是无脑加 swap。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

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

相关专题

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

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

2023.06.21

3850

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3313

10

linux find
linux find

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

2023.06.30

2433

5

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

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

2023.07.05

5870

7

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

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

2023.07.06

5522

7

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

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

2023.07.20

3253

8

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

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

2023.07.20

2745

4

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

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

2023.07.25

2979

6

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

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

2023.07.31

277

3

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习