服务器内存告急?Swap 交换空间救场全攻略
Linux 交换空间管理计算机存储器的层次结构计算机存储器速度越快成本较高。 为了获得好的性能/价格比计算机中各种存储器组成一个层状的塔式结构取长补短协调工作。CPU 寄存器是 CPU 内部用来存放数据的一些小型存储区域用来暂时存放参与运算的数据和运算结果以及一些 CPU 运行需要的信息。CPU 高速缓存也就是CPU Cache是一种容量小、速度快的高缓冲存储器由SRAM组成直接制作在CPU芯片内速度几乎与CPU一样快。在金字塔式存储体系中它位于自顶向下的第二层仅次于CPU寄存器。其容量远小于内存但速度却可以接近处理器的频率。主存储器Main memory简称主存或内存其作用是存放指令和数据并能由中央处理器CPU直接随机存取。主存储器速度比CPU高速缓存慢但存储容器却大的多。主存储器的速度一般用存取时间衡量即每次与CPU间数据处理耗费的时间以纳秒(ns)为单位。大多数SDRAM内存芯片的存取时间为5、6、7、8或10ns。主存储器的带宽计算公式带宽频率*位宽8。例如DDR4 内存频率是3600 MHz在64位系统双通道位宽为128以此类推1B8bit,单通道 DDR4-36003600MHz * 64bit / 828800MB/S双通道 DDR4-36003600MHz * 64bit * 2 / 857600MB/S辅助存储器速度慢的多优点是容量大可持久化存储。计算机存储器的工作原理CPU运行程序时先从寄存器中读取数据。如果在寄存器中可以找到数据则直接从寄存器中读取。如果在寄存器中找不到数据则从CPU Cache中读取数据并将数据缓存在CPU Cache中。如果在CPU cache中可以找到数据则直接从CPU Cache中读取。如果在CPU cache中找不到数据则从主存储器内存中读取数据将数据缓存在主存储器中。如果在内存中可以找到数据则直接从内存中读取。如果在内存中找不到数据则从辅助存储器中读取数据例如机械磁盘、光盘、U盘等并将数据缓存在内存中。物理内存计算机系统将内存划分为固定大小的块称为page标准page 大小为 4 KiB。进程并不直接对物理内存寻址每个进程具有虚拟地址空间virtual address space。当进程请求内存时MMU 将进程获得的虚拟地址VAVirtual Address 映射到物理地址PAPhysical Address 。MMU是Memory Management Unit的缩写即内存管理单元它是CPU中用来管理虚拟存储器、物理存储器的控制线路负责将虚拟地址映射为物理地址以及提供硬件机制的内存访问授权。**思考**为什么CPU不直接访问物理地址虚拟内存的容量是物理内存和交换空间的总和而虚拟地址负责映射到物理内存地址和交换空间地址。进程使用内存的过程中希望内存是连续的。如果进程直接访问物理地址则内核很难保证进程获得的物理地址空间是连续的因为进程存在着运行和退出就会出现内存碎片化。进程的虚拟地址在虚拟内存中是连续的达到了内存连续的目的而 MMU 会将进程的虚拟地址映射到物理地址。Swap 空间Swap意思是“交换”、“实物交易”。Linux Swap交换空间是受Linux内核内存子系统控制的磁盘区域。功能1当内存使用量超过定义的限制时内核寻找已分配给进程但空闲的内存页将该空闲的内存页写入到交换空间并向其他进程重新分配RAM页面。功能2如果某个程序需要访问磁盘上的页面则内核会找到另一个空闲的内存页 将其写入到磁盘然后从交换区重新调用所需的页面。功能3如果某个程序需要访问数据访问的数据存放在交换空间则该程序直接从交换空间读取数据而不需要从磁盘原始位置读取进而提高速度。简单地说Linux Swap 空间就是在内存不够的情况下操作系统先把内存中暂时不用的数据存到硬盘的交换空间腾出内存来让别的程序运行和Windows的虚拟内存pagefile.sys的作用是一样的。**交换空间只是临时的解决办法。**虽然交换空间能够作为虚拟内存使用但由于交换区位于磁盘上它的速度比物理内存慢的多因此如果需要更快的速度的话最好的办法仍然是加大物理内存。查看内存# 默认单位是KiB使用-m选项以MiB为单位[rootserver ~10:53:58]# freetotal usedfreeshared buff/cache available Mem:40261205655362687424148607731603199160Swap:406322804063228[rootserver ~11:20:02]# free -mtotal usedfreeshared buff/cache available Mem:39315522624147553124Swap:396703967输出说明Memtotal物理内存空间大小。used使用的内存 (total - free - buffers - cache)。free未使用的内存空间大小(真正的空闲未被任何程序占用)。shared多个进程共享的内存空间大小。cached从磁盘读取的数据占用的内存空间大小待以后使用数据没有被修改。buffers被更改但未写回磁盘的数据占用的内存空间大小。Swap:total交换空间大小。used使用的交换空间大小。free未使用交换空间大小。Swap 空间大小管理员应根据系统的内存工作负载来调整交换空间大小。应用供应商有时会提供这方面的建议。根据物理内存总量下表提供了一些指导。物理内存(RAM)交换空间允许HIBERNATE时的交换空间2GiB或以下两倍的RAM三倍的RAM2GiB和8GiB之间同等的RAM两倍的RAM8GiB和64GiB之间至少4GiB1.5倍的RAM64GiB以上至少4GiB不建议Hibernate笔记本电脑和台式机的Hibernate功能会在关闭系统电源之前使用交换空间来保存RAM内容。重新打开系统时 内核将从交换空间恢复RAM内容无需完全启动。 对于这些系统而言交换空间需要超过RAM量。创建交换空间# 使用parted创建所需大小的分区并将其文件系统类型设置为linux-swap[rootserver ~11:26:11]# parted /dev/sdb mklabel gpt警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? 是/Yes/否/No? y 信息: You may need to update /etc/fstab.[rootserver ~11:32:05]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 2049信息: You may need to update /etc/fstab.[rootserver ~11:33:02]# parted /dev/sdb unit MiB printModel: VMware, VMware Virtual S(scsi)Disk /dev/sdb: 20480MiB Sector size(logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志11.00MiB 2049MiB 2048MiB xfs swap01# 格式化swap空间[rootserver ~11:33:56]# mkswap /dev/sdb1mkswap: /dev/sdb1: warning: wiping old xfs signature. 正在设置交换空间版本1大小2097148KiB 无标签UUID121ccf44-2d19-46c6-9002-c48bf09ab052激活 swap 空间# 激活swap空间[rootserver ~11:34:35]# swapon /dev/sdb1# 查看swap设备列表[rootserver ~11:35:03]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3默认情况下多个交换空间具有相同的优先级时系统会按顺序使用交换空间即内核先使用第一个已激活交换空间直至其空间已满然后开始使用第二个交换空间。在激活交换分区的时候可以为每个交换空间定义一个优先级从而强制按该顺序使用交换空间。swapon 命令使用-p选项指定优先级优先级介于-1和32767之间值越大优先级越高。示例[rootserver ~11:35:47]# swapon -p 4 /dev/sdb1取消 swap 空间激活[rootserver ~11:36:37]# swapoff /dev/sdb1[rootserver ~11:37:10]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition40632280-2持久化激活 swap 空间修改/etc/fstab文件添加如下类似记录UUID554ff511-fc15-4c8f-b6c2-d3f8bc76f6e6 swap swappri400[rootserver ~12:26:40]# blkid | grep swap/dev/sdb1:UUID121ccf44-2d19-46c6-9002-c48bf09ab052TYPEswapPARTLABELswap01PARTUUID371853c7-955f-4d97-baa4-c282182ce265/dev/mapper/centos-swap:UUID554ff511-fc15-4c8f-b6c2-d3f8bc76f6e6TYPEswap[rootserver ~12:27:49]# vim /etc/fstabUUID554ff511-fc15-4c8f-b6c2-d3f8bc76f6e6 swap swappri400使用命令swapon -a激活/etc/fstab中所有交换设备。使用命令swapoff -a取消/etc/fstab中所有交换设备激活。[rootserver ~12:29:23]# swapon -a[rootserver ~12:30:02]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3[rootserver ~12:30:05]# swapoff -a[rootserver ~12:30:20]# swapon -s

相关新闻

在PC上玩转Switch游戏:yuzu模拟器全方位使用指南

在PC上玩转Switch游戏:yuzu模拟器全方位使用指南

在PC上玩转Switch游戏:yuzu模拟器全方位使用指南 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 想在电脑上体验Switch独占大作吗?yuzu模拟器让你梦想成真!这款强大的开源Switch…

2026/10/1 6:29:23 阅读更多 →
化工DCS系统安全防护操作员双因素认证到PLC全链路

化工DCS系统安全防护操作员双因素认证到PLC全链路

引言:化工DCS安全防护的关键,不在"保护上位机",而在"从操作员到PLC的全链路可信" 在化工生产环境中,DCS系统从操作员工作站到PLC控制器,是一个完整的控制链路。任何一个环节的安全缺口&#xff0c…

2026/10/10 16:17:21 阅读更多 →
危化品重大危险源监测加密AQ3067判定到数据加密选型

危化品重大危险源监测加密AQ3067判定到数据加密选型

引言:重大危险源监测加密的关键,不在"装几个传感器",而在"监测数据可信任" 在危化品重大危险源管理中,AQ 3067标准对重大危险源的辨识和监测提出了明确要求。当监测数据被用于安全决策——报警、联锁、应急预…

2026/10/11 4:19:10 阅读更多 →

最新新闻

粮仓温湿度控制系统选型与PID策略:从传感器到避坑实践

粮仓温湿度控制系统选型与PID策略:从传感器到避坑实践

简介:一份基于单片机的粮仓温湿度检测与控制系统设计资料,面向自动化、电子及物联网相关专业学生与工程技术人员,针对大型粮库温湿度实时监测与超限报警需求,给出了可借鉴的完整设计方案。资源为华北电力大学本科毕业设计论文&…

2026/10/11 15:33:08 阅读更多 →
船级社APP开发工程师面试全解析:离线同步与移动端安全实战

船级社APP开发工程师面试全解析:离线同步与移动端安全实战

说实话,当初看到这个岗位信息的时候,我第一反应是:船级社?还信息开发咨询中心?APP开发工程师?这三个词放在一起,画风怎么想都有点对不上。后来我认真准备并参加了某船级社信息开发咨询中心的APP…

2026/10/11 15:33:08 阅读更多 →
相似图片检索实战指南:从感知哈希到向量召回与工程落地

相似图片检索实战指南:从感知哈希到向量召回与工程落地

简介:面向图像相似度检索的 RAR 压缩包,内含「旺仔图像检索」完整 C 工程源码。程序围绕“通过文件相似度查找类似图片”这一目标,实现图像特征提取、相似度计算与结果展示,适合计算机视觉初学者、图像检索方向开发者参考&#xf…

2026/10/11 15:33:08 阅读更多 →
考研数据库9套题:关系代数、SQL与范式分解高频考点全解析

考研数据库9套题:关系代数、SQL与范式分解高频考点全解析

简介:这份PDF是面向计算机考研学生的数据库复习题库,包含9套模拟试卷,围绕数据管理技术演进、数据库系统结构、关系运算与SQL、函数依赖与范式、事务并发控制及安全性等核心考点设置题目。每套题兼顾选择题、填空题和简单应用题,从…

2026/10/11 15:33:08 阅读更多 →
为什么越来越多架构师把AI从IDE搬进终端?

为什么越来越多架构师把AI从IDE搬进终端?

最近和几个同行聊到一个有点反直觉的现象:大家桌面上打开IDE的频率越来越低,反而是终端窗口越开越多。注意,这不是说AI编程助手不吃香了——恰恰相反,我身边几乎没人不用这类工具。但从最早的补全插件到Cursor这类AI编辑器&#x…

2026/10/11 15:33:08 阅读更多 →
虚拟现实数据手套汇总一览:TaoToken 统一 Key 接入 VR 开发数据链路

虚拟现实数据手套汇总一览:TaoToken 统一 Key 接入 VR 开发数据链路

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

2026/10/11 15:32:07 阅读更多 →

日新闻

流感时间序列预测实战: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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →