Linux 交换空间管理
文章目录Linux 交换空间管理计算机存储器的层次结构计算机存储器的工作原理物理内存Swap 空间查看内存Swap 空间大小创建交换空间激活 swap 空间取消 swap 空间激活持久化激活 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为单位[rootcentos7 ~]# freetotal usedfreeshared buff/cache available Mem:40261563304603528844121361668523485576Swap:406322804063228输出说明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[rootcentos7 ~]# parted /dev/sdb mklabel gpt[rootcentos7 ~]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 2049[rootcentos7 ~]# parted /dev/sdb unit MiB print# 格式化swap空间[rootcentos7 ~]# mkswap /dev/sdb1Setting up swapspace version1, size2097148KiB no label,UUID2bf4e179-3648-4412-9495-3b278df4acd6激活 swap 空间# 激活swap空间[rootcentos7 ~]# swapon /dev/sdb1# 查看swap设备列表[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3默认情况下多个交换空间具有相同的优先级时系统会按顺序使用交换空间即内核先使用第一个已激活交换空间直至其空间已满然后开始使用第二个交换空间。在激活交换分区的时候可以为每个交换空间定义一个优先级从而强制按该顺序使用交换空间。swapon 命令使用-p选项指定优先级优先级介于-1和32767之间值越大优先级越高。示例[rootcentos7 ~]# swapon -p 4 /dev/sdb1取消 swap 空间激活[rootcentos7 ~]# swapoff /dev/sdb1[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2持久化激活 swap 空间修改/etc/fstab文件添加如下类似记录UUID2bf4e179-3648-4412-9495-3b278df4acd6 swap swap pri4 0 0使用命令swapon -a激活/etc/fstab中所有交换设备。使用命令swapoff -a取消/etc/fstab中所有交换设备激活。[rootcentos7 ~]# swapon -a[rootcentos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3[rootcentos7 ~]# swapoff -a[rootcentos7 ~]# swapon -spartition40632280-2/dev/sdb1 partition20971480-3[rootcentos7 ~]# swapoff -a[rootcentos7 ~]# swapon -s

相关新闻

盲审修改意见怎么处理?先分事实问题、结构问题和表达问题

盲审修改意见怎么处理?先分事实问题、结构问题和表达问题

盲审意见到手后,先别按批注顺序逐条改。把意见分成事实、结构、表达三类,再确认每条意见要求补证据、重排论证还是修正文句。先处理会改变研究结论和章节关系的问题,最后统一术语、格式与语言;每改一项,都在修改记录里…

2026/8/4 18:56:30 阅读更多 →
社交旅游平台高并发架构设计与MySQL8+Redis优化实践

社交旅游平台高并发架构设计与MySQL8+Redis优化实践

1. 项目概述:社交旅游平台的架构挑战与创新去年夏天,我和团队接手了一个看似简单实则复杂的项目——打造一个融合社交与旅游功能的玩乐平台。这个后来被命名为"零翔出玩"的平台,核心目标是要解决传统旅游APP的两个痛点:…

2026/8/4 18:56:30 阅读更多 →
League Akari:英雄联盟玩家如何通过本地化工具提升300%游戏效率

League Akari:英雄联盟玩家如何通过本地化工具提升300%游戏效率

League Akari:英雄联盟玩家如何通过本地化工具提升300%游戏效率 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款…

2026/8/4 18:56:30 阅读更多 →

最新新闻

紧急预警:SD WebUI 1.9.4+更新后服装语义连贯性下降41.6%!3小时内生效的兼容性热修复方案(含patch下载链接)

紧急预警:SD WebUI 1.9.4+更新后服装语义连贯性下降41.6%!3小时内生效的兼容性热修复方案(含patch下载链接)

更多请点击: https://intelliparadigm.com 第一章:SD WebUI 1.9.4服装语义连贯性骤降事件全景速览 近期,大量 Stable Diffusion WebUI 用户反馈在升级至 1.9.4 及后续版本后,生成图像中人物服装结构出现显著语义断裂现象&#xf…

2026/8/6 1:10:30 阅读更多 →
白酒行业智能推荐系统:Python+AI+可视化实战

白酒行业智能推荐系统:Python+AI+可视化实战

1. 项目概述:白酒数据智能推荐系统的核心价值这个毕业设计项目完美融合了当下最热门的三项技术——数据可视化、AI问答和Python开发,构建了一个针对白酒行业的智能数据分析与推荐平台。作为一名长期关注数据智能应用的开发者,我认为这种结合行…

2026/8/6 1:10:30 阅读更多 →
AI变现不是选赛道,而是建漏斗:头部AI公司不愿公开的3层变现结构图(含ROI测算模板)

AI变现不是选赛道,而是建漏斗:头部AI公司不愿公开的3层变现结构图(含ROI测算模板)

更多请点击: https://kaifayun.com 第一章:AI变现不是选赛道,而是建漏斗:头部AI公司不愿公开的3层变现结构图(含ROI测算模板) AI产品的商业价值从不取决于模型参数量或技术新颖性,而在于能否在…

2026/8/6 1:10:30 阅读更多 →
Loop窗口管理:基于SwiftUI的优雅macOS生产力革命

Loop窗口管理:基于SwiftUI的优雅macOS生产力革命

Loop窗口管理:基于SwiftUI的优雅macOS生产力革命 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 在macOS生态系统中,窗口管理一直是提升工作效率的关键环节。传统的窗口管理工具…

2026/8/6 1:10:30 阅读更多 →
终极ThinkPad风扇控制指南:TPFanCtrl2让散热管理变得简单

终极ThinkPad风扇控制指南:TPFanCtrl2让散热管理变得简单

终极ThinkPad风扇控制指南:TPFanCtrl2让散热管理变得简单 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 TPFanCtrl2是一款专为ThinkPad双风扇机型设计的智…

2026/8/6 1:10:30 阅读更多 →
深入解析ORA-01756错误:从字符集与数据清洗角度根治Oracle导入难题

深入解析ORA-01756错误:从字符集与数据清洗角度根治Oracle导入难题

1. 问题初现:一个看似简单的导入操作引发的“字符串终结”风波那天下午,我正在处理一个常规的数据迁移任务。需求很简单:将一个由业务部门提供的CSV文件,通过SQL*Loader脚本导入到Oracle数据库中。文件不大,也就几十万…

2026/8/6 1:09:30 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →