news 2026/8/4 5:22:54

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
服务器卡顿元凶:你真的搞懂 Linux 交换分区了吗?

文章目录

    • 一、计算机存储器层次结构
      • 1. CPU 寄存器
      • 2. CPU 高速缓存(CPU Cache)
      • 3. 主存储器(内存)
      • 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/S

4. 辅助存储器

以机械磁盘、光盘、U 盘等为代表,访问速度远低于主存,但具备容量大、数据可持久化存储的优势,用于长期保存系统数据与用户文件。

二、计算机存储器工作原理

CPU 运行程序时,遵循“层级就近访问”原则,逐级查找所需数据,确保访问效率最大化:

  1. 优先从 CPU 寄存器读取数据,命中则直接使用;

  2. 寄存器未命中时,从 CPU 高速缓存读取数据,并缓存至高速缓存;

  3. 高速缓存未命中时,从主存读取数据,并缓存至主存;

  4. 主存未命中时,从辅助存储器读取数据,并缓存至主存,供后续访问使用。

三、物理内存与虚拟内存核心机制

1. 物理内存分页机制

Linux 系统将物理内存划分为固定大小的块(标准大小为4KiB),称为页(Page)。进程不直接寻址物理内存,而是拥有独立的虚拟地址空间(Virtual Address Space),通过内存管理单元(MMU)实现虚拟地址(VA)到物理地址(PA)的映射。

MMU(Memory Management Unit)是 CPU 内置的控制线路,负责虚拟内存与物理内存的管理,完成地址映射并提供内存访问授权,是保障内存高效、安全使用的核心组件。

2. 虚拟内存的核心价值

虚拟内存容量为物理内存与交换空间的总和,通过虚拟地址映射实现两大核心优势:

  • 解决内存碎片化问题:进程所需的虚拟地址空间是连续的,MMU 可将其映射到分散的物理内存地址,避免进程频繁创建与退出导致的内存碎片;

  • 突破物理内存限制:通过交换空间扩展可用内存容量,满足进程运行的内存需求。

四、Linux 交换空间(Swap)详解

1. Swap 空间定义与核心功能

Linux Swap 空间是内核内存子系统管理的磁盘区域,作为虚拟内存的重要组成部分,核心作用是在物理内存不足时,临时存储数据以释放内存资源,与 Windows 系统的虚拟内存(pagefile.sys)功能一致。其核心功能分为三点:

  1. 内存过载调度:当物理内存使用率超过阈值时,内核将进程的空闲内存页写入 Swap 空间,释放物理内存供其他进程使用;

  2. 数据按需调度:进程需访问磁盘上的页面时,内核将空闲内存页写入 Swap,再从 Swap 中调取所需页面至内存;

  3. 加速数据访问:若进程所需数据已存储在 Swap 空间,可直接从 Swap 读取,无需访问原始磁盘位置,提升访问效率。

需注意:Swap 空间仅为临时兜底方案,其访问速度远低于物理内存,若需提升系统性能,优先扩容物理内存。

2. 内存与 Swap 空间查看

通过 free 命令可查看系统内存与 Swap 空间使用情况,默认单位为 KiB,-m 选项可切换为 MiB 单位:

[root@centos7 ~]# 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倍 RAM
2GiB - 8GiB等于 RAM2倍 RAM
8GiB - 64GiB至少4GiB1.5倍 RAM
64GiB 以上至少4GiB不建议开启休眠

注:笔记本与台式机的休眠功能需依赖 Swap 空间保存内存数据,此类设备需确保 Swap 空间容量大于物理内存。

五、Swap 空间实战部署

1. 创建 Swap 分区

通过 parted 工具创建专用 Swap 分区,步骤如下:

# 1. 初始化磁盘分区表(GPT 格式)[root@centos7 ~]# parted /dev/sdb mklabel gpt# 2. 创建 Swap 分区(示例:2GiB 大小,分区类型为 linux-swap)[root@centos7 ~]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 2049# 3. 查看分区创建结果[root@centos7 ~]# parted /dev/sdb unit MiB print

2. 格式化 Swap 空间

使用 mkswap 命令对创建的分区进行格式化,生成 Swap 文件系统:

[root@centos7 ~]# mkswap /dev/sdb1Setting up swapspace version1, size=2097148KiB no label,UUID=2bf4e179-3648-4412-9495-3b278df4acd6

3. 激活与管理 Swap 空间

临时激活(重启后失效)
# 激活 Swap 分区[root@centos7 ~]# swapon /dev/sdb1# 查看已激活的 Swap 设备列表[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3
Swap 优先级配置

多 Swap 空间场景下,可通过 -p 选项设置优先级(范围-1~32767,值越大优先级越高),系统优先使用高优先级 Swap 空间:

# 激活并设置优先级为4[root@centos7 ~]# swapon -p 4 /dev/sdb1
取消 Swap 激活
# 取消单个 Swap 分区激活[root@centos7 ~]# swapoff /dev/sdb1# 查看取消后状态[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2

4. 持久化配置(重启后自动激活)

修改 /etc/fstab 文件,添加 Swap 分区配置,实现开机自动激活:

# 编辑 /etc/fstab 文件,添加以下内容(替换为实际 UUID)UUID=2bf4e179-3648-4412-9495-3b278df4acd6 swap swappri=400# 激活 /etc/fstab 中所有 Swap 设备[root@centos7 ~]# swapon -a# 验证激活结果[root@centos7 ~]# 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 系统稳定运行的关键环节。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/4 5:21:16

Windows服务器SSL/TLS安全加固实战:修复CVE-2016-2183漏洞

1. 漏洞概述与背景解析最近在给一个客户做内部网络的安全评估时,扫描器又双叒叕报出了一个老朋友:SSL/TLS 协议信息泄露漏洞(CVE-2016-2183)【原理扫描】,而且精准地指向了管理服务器的3389端口。这个漏洞编号,但凡做过几年安全运…

作者头像 李华
网站建设 2026/8/4 5:20:11

TCP协议详解:可靠传输机制与性能优化实践

1. TCP协议基础解析:互联网的可靠传输基石当你在手机上流畅观看高清视频、在电脑上快速下载大文件时,背后默默支撑这些体验的正是TCP协议。作为互联网传输层的核心协议,TCP(Transmission Control Protocol)通过其独特的…

作者头像 李华
网站建设 2026/8/4 5:16:38

OpenClaw大模型自由切换指南:从架构原理到实战配置

1. 从“单核”到“多核”:为什么OpenClaw需要自由切换大模型如果你玩过OpenClaw,大概率经历过这样的场景:想让它帮你写个周报,它却跟你聊起了哲学;或者让它分析一段代码,它却开始给你讲历史故事。这背后的原…

作者头像 李华
网站建设 2026/8/4 5:16:33

AI一键生成PPT:WorkBuddy如何重塑技术内容创作流程

1. 从“做PPT”到“想PPT”:WorkBuddy如何重塑内容创作流程做PPT这件事,对很多人来说,可能比写代码还痛苦。我见过不少技术大牛,面对复杂的架构图、流程图、数据图表时游刃有余,但一到需要把这些内容整理成一份逻辑清晰…

作者头像 李华
网站建设 2026/8/4 5:16:17

【C++】022、深拷贝浅拷贝

一、深拷贝&浅拷贝深拷贝与浅拷贝的根本区别,不在于复制了多少字节,在于拷贝后,两个对象是否共享了同一个底层资源浅拷贝:仅仅逐字节复制对象本身的内存布局,两个对象中的指针成员指向同一块动态内存。深拷贝&…

作者头像 李华