linux系统之free命令详解

             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,并把电容放电,藉此来保持数据的连续性。

 

原文地址:https://www.cnblogs.com/leomei91/p/7462601.html