free命令查看内存

[root@jojo ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           991M        273M         64M        1.1M        653M        535M
Swap:            0B          0B          0B
[root@jojo ~]#

Mem : 物理内存

Swap:交换分区

total :总的内存大小

used: 使用的内存大小

free: 剩余的内存大小

shared:被共享使用的物理内存大小

buff/cache: 缓冲区/缓存

available: 应用程序可用的内存

 

buff/cache 解释:

为了提高系统性能有这样的机制:

buff缓冲区,就是数据要写进磁盘的时候,因为直接写磁盘会比较慢,所以先把数据放进buff,然后由buffer写进磁盘。使用sync命令可以把buffer 的内容一次同步到磁盘。

cache缓存区,就是系统把一些数据放在物理内存缓存着,这样直接读取的时候速度就快多了。

 

available 可用内存:

理论上来讲,应用系统可用的内存=available+free+buff/cache,因为系统会在应用程序需要内存的时候想办法把buff/cache的内存腾出来给应用程序。单实际上会偏差很大。

 

有关swap分区的一些参数: swappiness

[root@jojo ~]# cat /proc/sys/vm/swappiness
90
[root@jojo ~]#

参数的取值范围是 0~100,0 告诉内核尽可能的不要将内存数据移到 swap 中,也即只有在迫不得已的情况下才这么做,而 100 告诉内核只要有可能,尽量的将内存中不常访问的数据移到 swap 中。

编辑 /etc/sysctl.conf  添加参数 vm.swappiness =  0,然后执行命令 sysctl -p 生效即可。

ps: 除了free名另外  cat /proc/meminfo  也可以查看内存的使用详细信息。

 

 

 

  

Tags: