1.内存的作用
2.常见内存分类
3.内存的 3 个关键特性
4.常见内存问题
1.内存的作用
1).把计算机比作一个办公室:
CPU = 办公室里的"老板"(运算速度极快, 负责处理核心工作)
硬盘 = 办公室的"档案柜"(容量极大, 存放所有长期不用的文件/数据, 但取放速度很慢)
内存 = 老板的"办公桌"(容量比档案柜小,比老板口袋小,但取放速度极快)
内存的核心作用: 临时存放老板(CPU)马上要用到/正在用的数据和指令, 避免老板每次都要跑到档案柜(硬盘)取文件, 提升
办公效率(计算机运行速度)
2).比如你打开一个Word文档:
a.文档原本存在硬盘(档案柜)里
b.打开时, 系统会把文档的核心数据复制一份到内存(办公桌)
c.你编辑文档时, CPU直接操作内存里的副本(老板直接用办公桌上的文件)
d.你点击"保存"时, 系统才把内存里的修改同步回硬盘(把修改后的文件放回档案柜)
e.关闭Word时, 系统会释放这份内存(把办公桌上的Word文件撤走, 腾出空间)
2.常见内存分类
我们按"从快到慢、从小到大"的顺序讲, 对应办公室的不同储物空间
a.CPU缓存(老板的「私人抽屉」, 最快最小)
因为CPU(老板)运算速度太快, 连内存(办公桌)的取放速度都有点"跟不上", 所以CPU自带了更小更快的「私人抽屉」—— CPU
缓存, 分为L1、L2、L3三级:
- L1缓存: 老板的「口袋」, 每个CPU核心独有, 容量最小(几KB ~ 几十KB), 速度最快, 存放老板当下最急需的数据
- L2缓存: 老板的「桌面小抽屉」, 也是每个CPU核心独有, 容量比L1大(几十KB ~ 几MB), 速度略慢于 L1
- L3缓存: 办公室的「公用文件架」, 所有CPU核心共享, 容量比L2大(几MB ~ 几十MB), 速度略慢于 L2
工作逻辑: CPU需要数据时, 先翻自己的口袋(L1), 再翻桌面小抽屉(L2), 再翻公用文件架(L3), 最后才找办公桌(内存)实在
找不到才去档案柜(硬盘) —— 这就是为什么电脑CPU缓存越大, 运行越流畅
⚠️ 缓存不一致就是内存屏障要解决的核心问题, 比如两个老板(双CPU核心)各有自己的口袋(L1), 都放了同一份文件数据A老
板修改了自己口袋里的文件, 没同步到办公桌(内存), B老板还在看自己口袋里的旧文件, 这就是"缓存不一致"
b.物理内存(你的「内存条」, 核心主力)
就是你电脑主机里插的「内存条」(8G/16G/32G), 对应我们说的「办公桌」, 是内存的核心主力
特性: 速度快(比硬盘快 100 倍以上)、容量有限(比硬盘小很多)、易失性(断电数据消失, 比如电脑突然关机, 没保存的Word
内容会丢失, 就是因为数据还在物理内存里, 没同步到硬盘)
作用: 存放所有正在运行的程序数据(微信、浏览器、游戏等), 程序运行时必须占用物理内存, 关闭程序后系统会释放对应的
内存空间
c.虚拟内存(「地上的临时布垫」, 应急用)
当物理内存(办公桌)不够用时, 系统会从硬盘(档案柜)划分一块空间, 当作"临时内存"使用, 这就是虚拟内存
特性: 容量大(由硬盘剩余空间决定)、速度慢(和硬盘速度一致, 比物理内存慢很多), 应急专用
缺点: 如果电脑频繁使用虚拟内存(办公桌满了, 只能用地上的布垫放文件), 会导致电脑明显卡顿, 因为硬盘的读取速度远不
如物理内存
比如你同时打开PS、AE、大型游戏,物理内存不够用了, 系统就会启用虚拟内存, 此时你会感觉电脑变卡, 就是这个原因
3.内存的 3 个关键特性
速度优先级: CPU缓存(L1 > L2 > L3) > 物理内存 > 虚拟内存(硬盘), 速度越快, 容量越小, 这是硬件的"平衡法则"
临时存储(易失性): 只有硬盘是"永久存储", 内存(CPU 缓存 + 物理内存 + 虚拟内存里的临时数据)断电就消失, 这也是为什
么一定要及时保存文件
按需分配与释放: 程序运行时系统会分配内存, 程序关闭时应释放内存, 这是避免内存问题的核心
4.常见内存问题
1).内存泄漏
通俗解释: 程序用完内存后, 没及时"归还"给系统, 导致内存被一直占用, 越用越多, 最后程序卡顿甚至崩溃
类比: 秘书把办公桌上的文件用完后, 没撤走, 也没放回档案柜, 一直堆在办公桌上, 办公桌空间越来越小, 最后放不了新
文件
2).内存溢出
通俗解释: 程序需要的内存, 超过了系统能分配的最大内存(物理内存 + 虚拟内存), 直接报错崩溃
类比: 办公桌(物理内存)和地上的布垫(虚拟内存)都堆满了文件, 老板还想放新文件, 根本放不下, 只能停止工作
3).缓存不一致
通俗解释: 多个CPU核心各有自己的缓存, 修改了同一数据后, 没及时同步到物理内存导致其他核心读取到旧数据, 引发程序
逻辑错误