total used free shared buffers cached
Mem: 8061128 3604036 4457092 324 191296 2283328
-/+ buffers/cache: 1129412 6931716
Swap: 0 0 0
上面是free命令的执行结果,下面我来详细说说其中的含义:
Mem
total:这个是物理内存的总量,也就是物理内存的大小。
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。
-/+ buffers/cached:表示物理内存的缓存统计。
used:也就是第一行中的used – buffers-cached 也是实际使用的内存总量。
free:未被使用的buffers 与cache 和未被分配的内存之和,buffers1 + cached1 + free1,这就是系统当前实际可用内存。
第二行的used+free即第一行的total。
centos7
total used free shared buff/cache available
Mem: 8010440 862868 1076096 408 6071476 6810044
Swap: 0 0 0
Mem
total:物理内存的总量,/proc/meminfo中MemTotal + SwapTotal。
used:已使用的内存,等于total - free - buff - cache。
free:未使用的内存, /proc/meminfo中MemFree + SwapFree。
shared:共享内存,被tmpfs使用的内存。
buff/cache:buff和cache的总量。
available:估计有多少内存可用于启动新程序,不包括swap。
其中:
total=used+free+buff/cache
拓展阅读:
ROM
Read Only Memory的缩写,中文名称为只读存储器。
在设备断电的情况下,其中的数据不会丢失,一般用来存储固定的软件和信息。例如,主板上的BIOS就是ROM。
RAM
Random Access Memory的缩写,中文名称为随机记忆存储,简称读写存储器。
在设备断电的情况下,其中的数据全部丢失,一般用来存储临时的数据。计算机的内存就是RAM。
RAM分为两大类:
静态RAM(SRAM)
SRAM读写的速度非常快,当然价格也非常贵,一般用于CPU的一级、二级缓存器。
动态RAM(DRAM)
DRAM性能低于SRAM,但是比ROM强不少,价格也合适,一般计算的内存就是DRAM。
DRAM也分好多种,这里介绍最常见的一种DDR RAM。
Double Date-Rate Synchronous RAM的缩写,中文名称为双倍速率 同步动态RAM。
DDR RAM可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。可以去网上看看,现在计算机内存不是DDR3就是DDR4。
内存工作的原理
内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设备进行内存刷新操作。
具体的工作过程是这样的:
一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。