讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux swap 分区与内存管理优化

星雪吖_1590

星雪吖_1590

发布时间:2026-02-17 09:12:10

|

1014人浏览过

|

来源于php中文网

原创

绝大多数现代Linux系统仍需swap,即使内存充足;桌面环境必须开启,容器宿主机建议设swappiness=1,纯数据库服务器可关闭但需调优overcommit参数。

linux swap 分区与内存管理优化

swap 分区到底要不要开?

绝大多数现代 Linux 系统(尤其是桌面或云服务器)仍需 swap,哪怕你有 64GB 内存。内核的 oom_killer 在完全无 swap 时更激进,且某些内存分配路径(如 mmap(MAP_ANONYMOUS) + overcommit=2)会直接失败,不是“省点空间”,而是“拒绝服务”。

  • 桌面环境:必须开,否则 Chrome 多标签 + IDE + 视频播放容易触发 Killed process
  • 容器宿主机:建议开,但 swapiness 设为 1,避免容器内存被无差别换出
  • 纯数据库服务器(如 PostgreSQL 专机):可关,但需确认 /proc/sys/vm/overcommit_memory 为 2 且 vm.overcommit_ratio 足够高

swapfile 比 swap 分区更灵活,但要注意这三点

swapfile 是主流选择,无需重分区,支持在线增删。但它不是“随便 dd 出来就能用”。

  • 文件必须位于支持 fallocate() 的文件系统上(ext4/xfs OK,btrfs 需 chattr +C 关闭 COW)
  • 不能放在 LVM 逻辑卷挂载点下(否则 swapon 报 swapon: /swapfile: swapon failed: Invalid argument)
  • fallocate -l 4G /swapfile 后必须 chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile —— 少任何一步都会失败

swapiness=10 不是万能解,要看 workload 类型

vm.swappiness 控制内核倾向把匿名页(堆、栈)换出的激进程度,范围 0–100。设为 10 是常见折中,但真实效果取决于内存压力来源。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 大量缓存文件读写(如 web server + static assets):降低到 1 更稳,避免 page cache 被误换出
  • Java 应用堆大且 GC 频繁:swappiness=0 反而可能引发 OOM,因 JVM 堆无法换出,只剩 anon pages 可动,此时应调高至 30 给内核更多腾挪余地
  • 值为 0 并不等于“禁用 swap”,只是推迟到内存真正耗尽前最后一刻才换出

zram 和 zswap 不是 swap 替代品,而是压缩层

它们不减少 swap 总量,而是把要写入 swap 的数据先压缩再存——zram 存 RAM,zswap 存传统 swap。两者都依赖 lzo 或 lz4 压缩算法,压缩率和 CPU 开销需权衡。

  • 小内存设备(≤4GB):zram 是首选,systemctl enable systemd-zram-generator 即可自动启用
  • 大内存 + 高 I/O 服务器:zswap 更合适,避免 zram 占用过多内存反向挤压应用
  • 启用后仍需保留至少 1GB 传统 swap,否则压缩失败时无 fallback,直接 OOM

swap 的核心逻辑没变:它不是“备用内存”,而是内核内存管理策略的必要出口。忽略它,等于让内核在内存紧张时少一条退路——那条退路有时慢,但从不缺席。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2766

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

5499

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

3927

2026.03.24

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

6067

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2568

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

6067

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2568

2023.08.10

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

6176

2023.08.14

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

40

2026.10.22

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn