运行内存也称作主存,是指程序运行时需要的内存,只能临时存储数据用于与CPU交换高速缓存数据,一般多指随机存取存储器(Random Access Memory,RAM)。
运行内存,也称作主存,是指程序运行时需要的内存,只能临时存储数据用于与 CPU 交换高速缓存数据,一般多指随机存取存储器(Random Access Memory,RAM)。
运行内存的大小直接决定了系统能运行多少程序,运行内存越大,系统运行程序越快。内存的发展与处理器工艺与系统优化程度是密切相关的。 如果处理器性能本身跟不上,或是系统优化效果不佳,就算是配备了更大的内存也是一种资源浪费。
存储阵列中任意位置的存储单元都能以随机次序迅速地写入和读出数据的存储器。是计算机保存操作系统、应用程序和用户数据的地方,与硬盘或其他存储设备不同,它可以使处理器更为迅速获得数据,但是关机后在 RAM 中存储的数据将全部丢失。用户再次开机时,计算机将自动将操作系统和其他文件(通常由硬盘)再次装载入 RAM。RAM 类似于人的短期记忆,硬盘类似于人的长期记忆。短期记忆针对当前的工作,可以同时存储许多数据。长期记忆可被短期记需要刷新。具有以下特点:
所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对地,有串行访问存储器包括顺序访问存储器(如磁带)和直接访问存储器(如磁盘)。
当电源关闭时 RAM 不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM 和 ROM 相比,两者的最大区别是 RAM 在断电以后保存在上面的数据会自动消失,而 ROM 则不会。
现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的,访问延迟也和其他涉及机械运作的存储设备(如硬盘、光盘驱动器)相比,也显得微不足道。但速度仍然不如作为 CPU 缓存用的 SRAM。
现代的随机存取存储器依赖电容器存储数据。电容器充满电后代表 1(二进制),未充电的代表 0。由于电容器或多或少有漏电的情形,若不作特别处理,电荷会渐渐随时间流失而使数据发生错误。刷新是指重新为电容器充电,弥补流失了的电荷。DRAM 的读取即有刷新的功效,但一般的定时刷新并不需要作完整的读取,只需作该芯片的一个列(Row)选择,整列的数据即可获得刷新,而同一时间内,所有相关记忆芯片均可同时作同一列选择,因此,在一段期间内逐一做完所有列的刷新,即可完成所有存储器的刷新。需要刷新正好解释了随机存取存储器的易失性。
正如其他精细的集成电路,随机存取存储器对环境的静电荷非常敏感。静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地。
RAM 可被分为两大类:主存,它用于保存各种处理器需要使 用的数据,可以加快计算机的运算速度;显存,它用于保存将要显示在显示器上的图形信息,可以使显示速度大大加快。主存又可以被分为 SRAM 和 DRAM 两种。SRAM 是一种价格比较贵的存储器,而且占用的物理空间比较大,难于集成,但是因为它不用刷新,所以访问速度快。SRAM 通常用于一级 缓存和二级缓存。DRAM 因为使用电容,所以必须间隔一定时间对其内容进行刷新,否则内部的数据就会丢失。对 DRAM 来说,在每次读取实际上是一次放电,都必须对电容进行充电,保证其内容的有效性,即使不对它进行读取,每 15 毫秒也需要对它进行一次刷新,它的价格是 RAM 中最便宜的。
计算机运行时,计算机的主内存按照被使用情况可分类为:
可利用(Available)物理内存:可立即分配给程序使用的内存。包括:
空闲(Free)物理内存:完全未被使用,内容为全 0
缓存(Cached)物理内存
备用(standby)物理内存:操作系统预先把可能要用到的硬盘数据加载所占用的内存,还没被用户进程所使用,因此可随时丢弃从新初始化为 0.
已修改(modified)物理内存:已被修改过的 caching 用途的内存,可在任意时刻写回硬盘文件(不是分页文件)然后被重用。由于硬盘 I/O,已修改(modified)物理内存不能计入空闲(Free)物理内存。
被使用(used)物理内存:已经被进程使用的内存。
用户进程使用的物理内存,即工作集(Working set)。Working Set 包含了可能被其他程序共享的内存, 例如 DLL。所以所有进程的 Working Set 加起来有可能大于实际的被使用(used)的物理内存。Private Bytes 是只被本进程提交(commit)的虚拟地址空间,不包括其他进程共享的内存。Virtual Byte 是整个进程占用的全部虚拟地址空间。32 位 Windows 用户模式下,进程最大可以使用 2GiB,可以通过修改 Boot.ini 文件扩展为最大可以使用到 3GiB。task manager 中的 Memory Usage 对应的是 working set, VM Size 对应的是 private bytes。
分页的核心进程使用的物理内存:可以交换到分页文件中,从而可被回收的物理内存。
未分页(Non paged)的核心进程使用的物理内存:不能交换到分页文件的内存,总是要保留在物理内存中
硬件保留(hardware reserved)的物理内存:被 CPU 中的 GPU 核心或者其他外设硬件占用的,不由操作系统使用的内存。