服务器卡顿元凶:你真的搞懂 Linux 交换分区了吗?

发布时间:2026/9/21 5:04:24

服务器卡顿元凶:你真的搞懂 Linux 交换分区了吗? 文章目录一、计算机存储器层次结构1. CPU 寄存器2. CPU 高速缓存CPU Cache3. 主存储器内存4. 辅助存储器二、计算机存储器工作原理三、物理内存与虚拟内存核心机制1. 物理内存分页机制2. 虚拟内存的核心价值四、Linux 交换空间Swap详解1. Swap 空间定义与核心功能2. 内存与 Swap 空间查看输出参数说明3. Swap 空间规划建议五、Swap 空间实战部署1. 创建 Swap 分区2. 格式化 Swap 空间3. 激活与管理 Swap 空间临时激活重启后失效Swap 优先级配置取消 Swap 激活4. 持久化配置重启后自动激活六、总结一、计算机存储器层次结构计算机存储介质遵循核心规律访问速度越快硬件成本越高。为实现性能与成本的最优平衡现代计算机采用分层塔式存储架构各级存储协同工作、取长补短构建高效的存储体系。1. CPU 寄存器CPU 内部集成的小型高速存储区域用于临时存放运算数据、运算结果及 CPU 运行所需的关键信息是存储体系中访问速度最快的层级容量极小但响应延迟极低。2. CPU 高速缓存CPU Cache由 SRAM 芯片构成直接集成于 CPU 芯片内部访问速度接近 CPU 主频容量远小于主存但性能优势显著。在存储金字塔中位列第二层仅次于 CPU 寄存器用于缓存高频访问数据减少 CPU 对主存的访问频次。3. 主存储器内存主存储器Main memory简称主存或内存是 CPU 可直接随机存取的核心存储介质用于存放运行指令与数据。其访问速度慢于 CPU 高速缓存但存储容量大幅提升是系统运行的核心数据载体。主存性能核心指标为存取时间单位纳秒 ns主流 SDRAM 芯片存取时间多为5-10ns带宽计算公式为带宽频率×位宽8。以 DDR4-3600内存为例单通道3600MHz × 64bit / 8 28800MB/S双通道3600MHz × 64bit × 2 / 8 57600MB/S4. 辅助存储器以机械磁盘、光盘、U 盘等为代表访问速度远低于主存但具备容量大、数据可持久化存储的优势用于长期保存系统数据与用户文件。二、计算机存储器工作原理CPU 运行程序时遵循“层级就近访问”原则逐级查找所需数据确保访问效率最大化优先从 CPU 寄存器读取数据命中则直接使用寄存器未命中时从 CPU 高速缓存读取数据并缓存至高速缓存高速缓存未命中时从主存读取数据并缓存至主存主存未命中时从辅助存储器读取数据并缓存至主存供后续访问使用。三、物理内存与虚拟内存核心机制1. 物理内存分页机制Linux 系统将物理内存划分为固定大小的块标准大小为4KiB称为页Page。进程不直接寻址物理内存而是拥有独立的虚拟地址空间Virtual Address Space通过内存管理单元MMU实现虚拟地址VA到物理地址PA的映射。MMUMemory Management Unit是 CPU 内置的控制线路负责虚拟内存与物理内存的管理完成地址映射并提供内存访问授权是保障内存高效、安全使用的核心组件。2. 虚拟内存的核心价值虚拟内存容量为物理内存与交换空间的总和通过虚拟地址映射实现两大核心优势解决内存碎片化问题进程所需的虚拟地址空间是连续的MMU 可将其映射到分散的物理内存地址避免进程频繁创建与退出导致的内存碎片突破物理内存限制通过交换空间扩展可用内存容量满足进程运行的内存需求。四、Linux 交换空间Swap详解1. Swap 空间定义与核心功能Linux Swap 空间是内核内存子系统管理的磁盘区域作为虚拟内存的重要组成部分核心作用是在物理内存不足时临时存储数据以释放内存资源与 Windows 系统的虚拟内存pagefile.sys功能一致。其核心功能分为三点内存过载调度当物理内存使用率超过阈值时内核将进程的空闲内存页写入 Swap 空间释放物理内存供其他进程使用数据按需调度进程需访问磁盘上的页面时内核将空闲内存页写入 Swap再从 Swap 中调取所需页面至内存加速数据访问若进程所需数据已存储在 Swap 空间可直接从 Swap 读取无需访问原始磁盘位置提升访问效率。需注意Swap 空间仅为临时兜底方案其访问速度远低于物理内存若需提升系统性能优先扩容物理内存。2. 内存与 Swap 空间查看通过 free 命令可查看系统内存与 Swap 空间使用情况默认单位为 KiB-m 选项可切换为 MiB 单位[rootcentos7 ~]# freetotal usedfreeshared buff/cache available Mem:40261563304603528844121361668523485576Swap:406322804063228输出参数说明Mem物理内存total 为总容量used 为已用容量free 为完全空闲容量shared 为进程共享内存buff/cache 为缓冲区与缓存占用容量available 为可用内存容量Swap交换空间total 为总容量used 为已用容量free 为空闲容量。3. Swap 空间规划建议Swap 空间大小需根据系统物理内存容量与业务负载规划以下为通用参考标准适用于多数生产环境物理内存RAM常规 Swap 空间大小支持休眠Hibernate时的 Swap 空间大小2GiB 及以下2倍 RAM3倍 RAM2GiB - 8GiB等于 RAM2倍 RAM8GiB - 64GiB至少4GiB1.5倍 RAM64GiB 以上至少4GiB不建议开启休眠注笔记本与台式机的休眠功能需依赖 Swap 空间保存内存数据此类设备需确保 Swap 空间容量大于物理内存。五、Swap 空间实战部署1. 创建 Swap 分区通过 parted 工具创建专用 Swap 分区步骤如下# 1. 初始化磁盘分区表GPT 格式[rootcentos7 ~]# parted /dev/sdb mklabel gpt# 2. 创建 Swap 分区示例2GiB 大小分区类型为 linux-swap[rootcentos7 ~]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 2049# 3. 查看分区创建结果[rootcentos7 ~]# parted /dev/sdb unit MiB print2. 格式化 Swap 空间使用 mkswap 命令对创建的分区进行格式化生成 Swap 文件系统[rootcentos7 ~]# mkswap /dev/sdb1Setting up swapspace version1, size2097148KiB no label,UUID2bf4e179-3648-4412-9495-3b278df4acd63. 激活与管理 Swap 空间临时激活重启后失效# 激活 Swap 分区[rootcentos7 ~]# swapon /dev/sdb1# 查看已激活的 Swap 设备列表[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3Swap 优先级配置多 Swap 空间场景下可通过 -p 选项设置优先级范围-1~32767值越大优先级越高系统优先使用高优先级 Swap 空间# 激活并设置优先级为4[rootcentos7 ~]# swapon -p 4 /dev/sdb1取消 Swap 激活# 取消单个 Swap 分区激活[rootcentos7 ~]# swapoff /dev/sdb1# 查看取消后状态[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-24. 持久化配置重启后自动激活修改 /etc/fstab 文件添加 Swap 分区配置实现开机自动激活# 编辑 /etc/fstab 文件添加以下内容替换为实际 UUIDUUID2bf4e179-3648-4412-9495-3b278df4acd6 swap swappri400# 激活 /etc/fstab 中所有 Swap 设备[rootcentos7 ~]# swapon -a# 验证激活结果[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3如需临时关闭所有 Swap 设备可执行swapoff -a命令。六、总结Linux Swap 空间是虚拟内存体系的核心组成部分通过磁盘空间扩展物理内存容量有效缓解系统内存不足的问题。本文从计算机存储层级、虚拟内存原理切入详细讲解了 Swap 空间的规划、创建、激活与持久化配置覆盖生产环境全流程实操要点。核心要点回顾Swap 空间仅为兜底方案无法替代物理内存性能需根据系统内存容量合理规划 Swap 大小多 Swap 场景可通过优先级优化调度效率生产环境务必配置持久化激活确保系统重启后 Swap 空间正常生效。掌握 Swap 管理技能是保障 Linux 系统稳定运行的关键环节。
延伸阅读

更多相关文章

2026/9/20 1:51:22

销售过程管理黑盒怎么破?看软硬一体AIOT方案的交付逻辑

线下流量成本逐年走高,门店接待却长期处在"过程看不见、话术一刀切、跟进无章法、经验难复制"的黑盒状态。企业管理者拿到的往往只有成交、意向等末端结果数据,而对中间环节的疏漏无法追溯。要解决销售过程管理黑盒,需要的不是普通…

2026/9/20 1:51:24

AI文本优化工具:降低AI率提升内容人性化

1. 项目概述:千笔降AI率助手的核心价值作为一名从业十年的文字工作者,我深刻理解内容创作者面临的共同困境:如何在保证效率的同时,让作品保留足够的人性化特质。千笔降AI率助手正是为解决这一痛点而生,它通过智能算法识…

2026/9/22 2:00:00

搞懂健身教练要求这3点,前端实战项目不再踩坑

搞懂健身教练要求这3点,前端实战项目不再踩坑 刚入行前端,或者从其他行业转行过来,是不是经常陷入这种尴尬:语法背得滚瓜烂熟,LeetCode 刷了大半本,但一让你做一个 实战项目 ,脑子就一片空白?…

2026/9/22 2:00:00

瓜帅考试避坑指南:5个面试必问底层原理

瓜帅考试避坑指南:5个面试必问底层原理 看了一堆瓜帅教程还是不会写项目?别急,这锅不全是你的。很多技术老手在复盘时发现,卡住你的往往不是语法,而是那些 面试必问…

2026/9/22 2:00:00

网易云下载源码深扒:3个坑让你不再配置半天,面试必问

网易云下载源码深扒:3个坑让你不再配置半天,面试必问 配置环境就卡半天,依赖装不上、协议解析错、登录态失效,这几乎是所有尝试逆向网易云下载的人共同的噩梦。别急,今天咱们不聊虚的,直接拆开 NeteaseCloudMusicApi…

2026/9/22 2:00:00

3分钟搞定登入成语:源码解析+移动端实战避坑指南

3分钟搞定登入成语:源码解析+移动端实战避坑指南 看着满屏红色的 StackTrace ,是不是脑子嗡嗡作响?别慌,这通常是新手在 登入成语 相关开发中遇到的典型场景,尤其是当业务逻辑与底层源码交互出错时。…

2026/9/22 1:55:00

机峰网入门到精通:3招搞定复制代码跑不通的底层逻辑

机峰网入门到精通:3招搞定复制代码跑不通的底层逻辑 刚拿到机峰网项目的源码,或者从网上扒下来的配置片段,一跑就报错?那种“明明看着对,为什么就是通不了”的无力感,是每个刚从学校出来、想通过 机峰网…

2026/9/21 3:28:31

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/21 3:33:19

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/22 0:04:49

输电线路在线监测高频面试题拆解 3秒抓住官方文档重点

输电线路在线监测高频面试题拆解 3秒抓住官方文档重点 官方文档几百页翻到头还是懵?面试问到 输电线路在线监测 的数据链路时,脑子一片空白?别慌,这种 高频面试题 我整理了10年,专门治各种“文档太长抓不住重点”的毛病。…

2026/9/22 0:04:49

中介房源管理系统重构避坑:3个关键步骤搞定API变更

中介房源管理系统重构避坑:3个关键步骤搞定API变更 版本升级后 API 全变了,这种痛只有真做过的人懂。 很多团队在接手老旧房产项目时,最崩溃的不是代码烂,而是底层框架升级后,原本熟悉的接口调用方式彻底失效。 这份 保姆级教程…

2026/9/22 0:04:49

3个坑点带你一文搞懂55gg小游戏源码

3个坑点带你一文搞懂55gg小游戏源码 盯着控制台满屏的红色报错,看着那一长串 StackTrace ,是不是脑子瞬间宕机?别急,这种时候最忌讳的就是盲目改代码。很多刚入行的前端同学,面对 55gg 小游戏这类轻量级 H5…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/21 18:32:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/21 10:29:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码