【运维】Swap
在测试环境中我们经常遇到这样的场景物理内存被多服务挤占free -h显示剩余几十 MB服务进程无缘无故消失被 OOM Killer 处决SSH 连接超时compactd进程卡死 200 秒CPU 飙到 100%。根本原因内存严重不足时Linux 内核会启动一系列“自救”机制但这些机制在无 Swap 时往往会适得其反。本文将深入解释为什么测试环境开启 Swap并给出标准配置方案。一、内存耗尽时内核做了什么当物理内存RAM被占满且没有 Swap 交换空间时内核会按以下顺序“挣扎”内存回收kswapd– 尝试回收缓存/缓冲区但回收速度跟不上分配速度。内存压缩compactd– 尝试将碎片化的内存页“压缩”成连续的大块为后续大页分配做准备。压缩需要大量 CPU 遍历页表且会持有锁导致系统响应极慢。此时 SSH 守护进程sshd可能因 CPU 饥饿或内存分配阻塞而超时断开。OOM Killer 出手– 如果回收和压缩都无效内核最后一步是“选择”一个进程杀掉释放内存。OOM Killer 的评分机制oom_score会优先杀掉占用内存最多、运行时间最短的进程——你的关键微服务很可能中枪。无 Swap 时系统在“压缩”和“杀进程”之间反复横跳服务稳定性无从谈起。二、 Swap 能同时解决“被杀”与“被卡”否是物理内存紧张是否启用 Swap?kswapd 回收 cache内存仍不足compactd 高频压缩CPU 飙升 锁争用SSH 超时 / 服务假死OOM Killer 随机杀进程内核将不活跃页换出到 Swap释放连续物理内存块compactd 压力骤降系统响应恢复OOM Killer 不再触发2.1 防 OOM Killer提供“缓冲垫”Swap 相当于内存的“溢出仓库”。当 RAM 吃紧时内核优先将不常访问的冷数据如后台日志缓冲区、闲置服务的堆内存换出到磁盘。这降低了内存压力峰值让 OOM Killer 几乎没有机会触发从而保住所有运行中的服务。2.2 防 compactd 假死瞬间释放连续空间内存压缩compactd之所以耗时是因为它需要移动已分配的页来“拼出”大块连续区域。Swap 换出操作能直接整页回收腾出大量连续空闲页内核不再需要费力压缩。实测中开启 Swap 后compactd的 CPU 占用从 80% 降至 5%SSH 响应立即恢复。三、Swap 的另一个隐性价值把物理内存留给“热点”应用在微服务环境中大量服务会写入日志、缓存历史数据这些数据访问频率很低。如果它们全挤在 RAM 中真正高频使用的业务堆内存反而无处安放。内存类型无 SwapRAM 100%占用有 SwapRAM 70% Swap 30%热点应用堆频繁被换出/回收GC 压力大常驻 RAM性能稳定冷数据日志、历史缓存占用大量 RAM自动换出到 Swap不争抢资源系统缓存紧张充裕Swap 就像“内存分级存储”热数据走 RAM冷数据走 Swap让有限的内存用在刀刃上。四、一键创建 2GB Swap以下命令在 CentOS/Ubuntu 通用推荐 2~4GB视剩余磁盘而定# 1. 创建 2GB 空文件sudofallocate-l2G /swapfile# 2. 设置严格权限防止普通用户读取sudochmod600/swapfile# 3. 格式化为 swap 分区sudomkswap/swapfile# 4. 启用 swapsudoswapon/swapfile# 5. 开机自动挂载echo/swapfile none swap sw 0 0|sudotee-a/etc/fstab# 6. 调低 Swap 倾向优先使用物理内存避免过度依赖磁盘sudosysctlvm.swappiness10echovm.swappiness10|sudotee-a/etc/sysctl.confvm.swappiness10的含义取值范围 0~100值越大越积极使用 Swap。设为 10 表示仅在 RAM 使用超过 90% 时才换出优先压榨物理内存同时保留 Swap 作为“紧急避难所”。完成后执行free -h若 Swap 行显示2.0G即成功。五、最后Swap 是备胎不是主力就像汽车备胎平时用不上但爆胎时能让你开到修理厂。测试环境不会承受生产级流量Swap 的磁盘 I/O 影响完全可以接受。监控 Swap 使用率若free -h发现 Swap 使用率长期 50%说明物理内存确实不足。此时应增加 RAM 或优化服务内存占用而非无限扩大 Swap过度依赖 Swap 会导致性能雪崩。生产环境慎用生产环境若依赖 Swap 来“续命”往往掩盖了内存配置问题且磁盘 I/O 延迟会直接拖慢响应。测试环境则完全不同——稳定第一性能第二。小结小内存服务器Swap 不该是可选项而是默认配置。给测试环境加上 2~4G Swap你会发现“莫名其妙”的故障一夜消失。

相关新闻

UE5音频中间件选型指南:MetaSound、FMOD与Wwise深度对比

UE5音频中间件选型指南:MetaSound、FMOD与Wwise深度对比

1. 项目概述:音频中间件选型,一个决定项目成败的隐形战场在UE5项目开发的早期阶段,音频系统的选型往往容易被忽视,但它却像项目的“听觉骨架”,一旦定型,后期重构的成本极高。当你的项目从原型走向规模化&a…

2026/7/28 14:58:23 阅读更多 →
Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测

Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测

Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测 一、引言 Web3 应用中的 3D 可视化需求正在从"锦上添花"转变为"刚需组件"。NFT 市场需要 3D 模型展示、Metaverse 项目依赖实时 3D 渲染、链上数据看板需要 3D 拓…

2026/7/28 14:58:23 阅读更多 →
提醒:AI还没正式上线,已经被人全网扫描

提醒:AI还没正式上线,已经被人全网扫描

企业的AI应用可能还在测试,攻击者却已经开始批量寻找公网中的模型接口、MCP服务和访问凭证。近期,一台没有部署MCP服务和本地大模型的普通网站服务器,在连续14天内仍收到接近200次AI相关探测。这不是针对某家企业的定向攻击,而是一…

2026/7/28 14:58:23 阅读更多 →

最新新闻

搜索引擎流量变化与SERP优化策略

搜索引擎流量变化与SERP优化策略

1. 搜索引擎流量格局的显著变化 过去十年里,谷歌搜索结果首页首位的点击率一直稳定在30%左右,但今年第三季度出现了明显下滑。根据我跟踪的多个行业数据,榜首点击率平均下降了5-8个百分点,这是自移动搜索兴起以来最显著的一次变动…

2026/7/28 15:05:25 阅读更多 →
VLC媒体播放器终极视频转码指南:5分钟掌握专业级格式转换

VLC媒体播放器终极视频转码指南:5分钟掌握专业级格式转换

VLC媒体播放器终极视频转码指南:5分钟掌握专业级格式转换 【免费下载链接】vlc VLC media player - plays everything, runs anywhere. Code here: https://code.videolan.org/videolan/vlc 项目地址: https://gitcode.com/gh_mirrors/vl/vlc 你是否曾因视频…

2026/7/28 15:05:25 阅读更多 →
Windows离线实时语音转文字:TMSpeech隐私安全的字幕解决方案

Windows离线实时语音转文字:TMSpeech隐私安全的字幕解决方案

Windows离线实时语音转文字:TMSpeech隐私安全的字幕解决方案 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 你是否曾在重要会议中因走神而错过关键信息?是否因为听力障碍难以跟上语音对话&a…

2026/7/28 15:05:25 阅读更多 →
开盘市值即破3万亿!长鑫科技首日暴涨466%,登顶A股“市值一哥”

开盘市值即破3万亿!长鑫科技首日暴涨466%,登顶A股“市值一哥”

7月27日,国产DRAM存储芯片龙头长鑫科技集团股份有限公司(股票代码:688825)正式登陆上海证券交易所科创板。发行价8.66元/股,开盘报49.50元/股,较发行价上涨471.59%。截至收盘,报49.00元/股&…

2026/7/28 15:05:25 阅读更多 →
性能分析工具选型对比:pprof、perf 与 eBPF 在不同瓶颈场景下的适用边界

性能分析工具选型对比:pprof、perf 与 eBPF 在不同瓶颈场景下的适用边界

性能分析工具选型对比:pprof、perf 与 eBPF 在不同瓶颈场景下的适用边界 一、工具选型的核心矛盾:精度 vs 侵入性 vs 适用层级 性能分析工具的选型不是"功能最多最强大",而是"在当前瓶颈层级下精度足够、侵入性可控、采集效率…

2026/7/28 15:05:25 阅读更多 →
LobsterAI 自动改代码翻车?这份人工接管清单帮我保住 Git 仓库

LobsterAI 自动改代码翻车?这份人工接管清单帮我保住 Git 仓库

凌晨三点的Git告警:有道Lobster自动化代码优化实战中的三级熔断机制 凌晨三点,我被连续不断的钉钉消息惊醒——团队Git仓库的pre-commit钩子触发了17次失败告警。打开日志一看,有道Lobster的自动代码优化技能在批量修改import语句时&#xf…

2026/7/28 15:04:25 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻