Linux Swap空间查看详解:命令、实践与最佳指南
在Linux系统中Swap空间交换空间是一种特殊的存储区域用于当物理内存RAM不足时临时存放内存中不活跃的 数据。它相当于物理内存的“扩展”帮助系统避免因内存耗尽而崩溃。尽管Swap空间无法替代物理内存其读写速度远慢于RAM但合理配置和监控Swap空间对保障系统稳定性和性能至关重要。学习计算机课日常运维中我们经常需要查看Swap空间的使用情况例如当系统出现卡顿、进程被意外终止时可能是内存不足导致大量Swap使用或者在部署新服务前需评估当前Swap是否满足需求。本文将详细介绍Linux下查看Swap空间的常用命令、指标解读、常见实践及最佳实践帮助读者全面掌握Swap空间监控技巧。目录#查看Swap空间的常用命令1.1 free快速概览内存与Swap1.2 swapon详细列出Swap设备/文件1.3 top/htop实时监控Swap使用1.4 vmstat系统内存与Swap统计1.5 /proc/meminfo内核内存信息文件1.6 其他工具sysctl与图形化工具理解Swap空间指标2.1 关键指标解释2.2 Swap In/Outsi/so的意义常见实践何时及如何检查Swap空间最佳实践与注意事项总结参考资料1. 查看Swap空间的常用命令#1.1 free快速概览内存与Swap#free命令是查看内存和Swap使用最快捷的工具默认以KB为单位输出支持人性化单位-h和实时刷新-s 秒数。语法#free [选项]-h以人类可读的单位如Gi、Mi显示-b字节-kKB默认-mMB-gGB-s 秒数持续刷新间隔指定秒数。示例与解读#$ free -h total used free shared buff/cache availableMem: 15Gi 3.2Gi 8.1Gi 256Mi 4.2Gi 11GiSwap: 8.0Gi 512Mi 7.5GiSwap行total总Swap空间8.0Giused已使用Swap512Mifree空闲Swap7.5Gi。注意available仅针对内存表示可被新进程使用的内存含空闲和可回收缓存Swap无此列。1.2 swapon详细列出Swap设备/文件#swapon命令用于管理Swap设备/文件通过-s或--show选项可查看当前激活的Swap详情包括类型分区/文件、大小、使用量和优先级。语法#swapon -s # 旧版格式列对齐swapon --show # 新版格式更易读推荐示例与解读#$ swapon --showNAME TYPE SIZE USED PRIO/dev/sda5 partition 5G 1.2G -2/swapfile file 3G 0B 1列说明NAMESwap设备路径如/dev/sda5分区或文件路径如/swapfileTYPE类型partition分区 /file文件SIZE总大小USED已使用大小PRIO优先级数值越高越优先使用默认分区-2文件0可手动设置。扩展若需查看所有Swap包括未激活的可结合blkid或fdisk -l查找Swap分区类型ID通常为82。1.3 top/htop实时监控Swap使用#top基础和htop增强版是实时进程监控工具可直观展示系统整体Swap使用及单个进程的Swap占用。top命令#top # 启动后按 Enter 刷新在顶部“Swap”行查看总使用情况KiB Swap: 8388604 total, 7546236 free, 842368 used. 4325688 avail Mem按f键进入字段选择勾选SWAP可显示进程的Swap占用标记为SWAP列按q返回按O大写输入p并回车按Swap使用量排序进程。htop命令推荐#htop界面更友好默认显示Swap总量和使用量支持鼠标操作htop顶部“Swap”栏显示使用百分比如Swap: 1.2G/8.0G [15%]按F6排序选择SWAP可按进程Swap占用排序进程列表中SWAP列显示单个进程的Swap使用单位KiB/MiB。1.4 vmstat系统内存与Swap统计#vmstatvirtual memory statistics用于输出系统内存、Swap、进程、IO等统计信息重点关注swap in/out内存与Swap的交换频率。语法#vmstat [间隔秒数] [次数] # 如 vmstat 2 5每2秒输出1次共5次示例与解读#$ vmstat 2procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 524288 8388608 102400 4194304 0 0 0 0 100 200 5 2 93 0 0Swap相关列swpd已使用Swap大小KBsiswap in每秒从Swap读入内存的KB数内存不足时将Swap 数据加载到RAMsoswap out每秒从内存写入Swap的KB数内存不足时将RAM数据换出到Swap。关键若si和so长期非零如持续100KB/s可能存在内存压力需警惕性能下降。1.5 /proc/meminfo内核内存信息文件#/proc/meminfo是内核暴露的内存信息伪文件包含Swap相关的详细指标如缓存的Swap数据需通过cat或grep查看。学习计算机课示例与关键字段#$ grep Swap /proc/meminfoSwapTotal: 8388608 kBSwapFree: 7546236 kBSwapUsed: 842372 kBSwapCached: 123456 kB # 已换出但又换入的内存暂存在缓存避免重复读写磁盘SwapCached重要优化指标值越高越好表示部分Swap数据已缓存到内存无需重复从磁盘读取。1.6 其他工具sysctl与图形化工具#sysctl查看内核Swap参数#sysctl vm.swappiness # 查看Swap使用倾向默认60值越低越倾向使用物理内存vm.swappiness 60swappiness范围0-1000表示尽量不使用Swap100表示积极使用Swap。图形化工具桌面环境#GNOME系统监视器gnome-system-monitor在“资源”标签页查看Swap饼图KSysGuardKDE类似功能支持自定义监控图表。2. 理解Swap空间指标#2.1 关键指标解释#指标含义SwapTotal系统总Swap空间大小物理分区文件总和SwapFree未使用的Swap空间SwapUsed已使用的Swap空间SwapTotal - SwapFreeSwapCached已换出到Swap但又被换入内存的“缓存数据”避免重复磁盘I/Osiswap in每秒从Swap加载到内存的数据量KB反映内存页缺失时的磁盘读取压力soswap out每秒从内存写入Swap的数据量KB反映内存不足时的数据换出压力2.2 Swap In/Outsi/so的意义#si和so是判断系统内存是否充足的核心指标正常情况si0so0内存充足无需交换轻度压力so偶尔非零如临时内存峰值程序退出后swpd减少严重压力si和so持续非零如si500KB/sso500KB/s即“Swap抖动”Thrashing——系统频繁在内存和Swap间交换 数据导致CPU大量时间用于I/O响应变慢。3. 常见实践何时及如何检查Swap空间#系统性能异常时#当系统卡顿、进程无响应或频繁OOM内存溢出终止进程优先通过以下步骤排查free -h快速确认Swap是否耗尽vmstat 1观察si/so是否持续非零htop按Swap排序进程定位高Swap占用的异常进程如内存泄漏的程序。内存密集型任务前后#部署数据库、大数据分析等服务前通过swapon --show确认Swap是否已配置任务运行中用top监控Swap使用结束后用free -h检查是否释放若未释放可能是进程未正常退出或内存泄漏。学习计算机课日常监控与日志记录#通过脚本定期记录Swap状态如每小时执行echo $(date) $(free -b | grep Swap) /var/log/swap.log便于追溯内存使用趋势。4. 最佳实践与注意事项#Swap空间大小的合理配置#传统建议物理内存 ≤2GBSwap 2×RAM2GB RAM ≤8GBSwap RAMRAM 8GBSwap 4-8GB或根据是否启用休眠调整休眠需Swap ≥ RAM。现代建议SSD普及后Swap可适当减小如RAM 16GBSwap 4GB但避免完全禁用极端情况仍需应急。避免Swap抖动Swap Thrashing#若si/so持续非零优先增加物理内存根本解决临时调小vm.swappiness如sudo sysctl -w vm.swappiness10减少Swap使用倾向终止或限制高内存占用进程如systemctl stop 服务或cpulimit。区分Swap分区与文件#分区性能略好适合物理机需格式化和挂载文件灵活适合虚拟机/云服务器创建简单dd if/dev/zero of/swapfile bs1G count4优先级可通过swapon -p 优先级 设备/文件手动调整如sudo swapon -p 10 /swapfile让文件优先于分区使用。结合内存使用分析Swap状态#SwapUsed高但内存Free高可能是swappiness过高或内核主动换出不活跃内存正常现象SwapUsed高且内存Free低内存真不足需优化进程或扩容。5. 总结#Swap空间是Linux系统内存管理的重要补充通过free、swapon、top等工具可全面监控其状态。关键指标包括SwapUsed、si/so和SwapCached需结合系统负载和内存使用综合分析。日常运维中合理配置Swap大小、避免抖动、定期监控是保障系统稳定的核心实践。学习C语言课程6. 参考资料#Linux man pages: free(1), swapon(8), vmstat(8)Red Hat文档Swap Space Management内核文档/proc/meminfo详解Ubuntu社区SwapFaq

相关新闻

HOP 开源 HWP 编辑器的 rhwp-adapter 层设计:Rust 如何桥接 WASM 文档引擎与原生文件 IO(完整指南)

HOP 开源 HWP 编辑器的 rhwp-adapter 层设计:Rust 如何桥接 WASM 文档引擎与原生文件 IO(完整指南)

【免费下载链接】hop 项目地址: https://gitcode.com/gh_mirrors/hop22/hop 点击查看 免费下载 HOP 是一款开源的 HWP/HWPX 文档编辑器,底层基于 rhwp 文档引擎构建。本文带你完整解析 HOP 的 rhwp-adapter 层:它如何用 Rust 把编译成 WASM …

2026/10/11 7:00:34 阅读更多 →
@RequestParam 和 @PathVariable以及@RequestBody 的区分

@RequestParam 和 @PathVariable以及@RequestBody 的区分

在 Spring MVC 开发中,RequestParam 和 PathVariable 是两种常用的参数绑定注解,有时也会和 RequestBody 一起混用RequestParam:取 URL 问号后面的查询参数。格式:/api/user?userId123写法:RequestParam("userId…

2026/10/11 7:00:34 阅读更多 →
AnyPS5跨平台串流工具:架构解析与实操指南

AnyPS5跨平台串流工具:架构解析与实操指南

1. 从“AnyPS5”这个标题说起:一个跨平台串流工具的设计初衷第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一个念头是:这大概率又是一个折腾远程串流的项目。果不其然,翻了一圈社区讨论和零散的代码片段之后,基本可…

2026/10/11 7:00:34 阅读更多 →

最新新闻

显影涂层供应商选型:从工艺稳定到环保合规的四大要点

显影涂层供应商选型:从工艺稳定到环保合规的四大要点

近几年显影涂层这块的订单明显往国内厂家集中,尤其是涉及精密蚀刻、PCB内层线路、模版制版这类场景,客户不再默认进口料就是最优解。但选择多起来之后,问题也跟着变复杂了,同样是显影涂层,有的厂做出来的线条边缘干净利…

2026/10/11 7:43:59 阅读更多 →
登报遗失去哪里登报?多久能见报?一文讲清

登报遗失去哪里登报?多久能见报?一文讲清

摘要推荐使用微信或支付宝里面的慧办好登报小程序在线办理遗失登报业务,可直接通过线上小程序提交材料,稿件审核通过后,一般1至3个工作日能见报。慧办好是央行备案的AAA级认证企业,平台对接全国正规报刊,不用出门排队&…

2026/10/11 7:43:59 阅读更多 →
MDI与SDI:视频链路传输质量排查与故障定位实战指南

MDI与SDI:视频链路传输质量排查与故障定位实战指南

干广电和视频传输这一行的朋友,谁还没被花屏、马赛克、音画不同步折腾过。尤其是大型活动直播、演播室节目录制、监控指挥中心大屏这种链路长的项目,信号从摄像机到编码器、再到矩阵切换、最后进解码器上屏,中间任何一个环节出问题&#xff0…

2026/10/11 7:43:59 阅读更多 →
OpenSpec落地指南:从接口契约到AI编码规范

OpenSpec落地指南:从接口契约到AI编码规范

如果你也曾在团队里被“OpenSpec”这个词搞得有点懵,别慌,我跟你的感受一样。最初在技术方案评审会上看到它的时候,我的第一反应是:这不就是 Swagger 换了件马甲吗?等我真的翻文档、写示例、跑检查之后才意识到&#x…

2026/10/11 7:43:59 阅读更多 →
YOLOv5鸡蛋目标检测实战:数据集+PyQt界面+推理避坑全解析

YOLOv5鸡蛋目标检测实战:数据集+PyQt界面+推理避坑全解析

简介:面向计算机视觉初学者、目标检测方向毕设学生及需要快速落地鸡蛋检测方案的项目开发者,这份资源围绕YOLOv5鸡蛋目标检测任务,提供从数据集、训练权重到PyQt可视化界面的完整闭环。包内包含训练好的模型权重,可直接对鸡蛋图像…

2026/10/11 7:43:59 阅读更多 →
计算机网络基础对网安有多重要?必学知识点清单

计算机网络基础对网安有多重要?必学知识点清单

计算机网络基础对网安有多重要?必学知识点清单免责声明:本文仅用于网络安全、计算机网络知识学习,所有攻防相关原理仅用于靶场、授权环境学习研究。未经授权,不得对任何公网资产实施抓包、扫描、中间人攻击等操作,违反…

2026/10/11 7:42:58 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →