free -m

free命令由procps.*.rpm提供(在Redhat系列的OS上)。free命令的所有输出值都是从/proc/meminfo中读出的

#free -m
    total  used free shared buffers cached
Mem:  490   484   6     0      4       59
-/+ buffers/cache: 420 70
Swap: 1023  231 792

第一行的输出时从操作系统(OS)来看的:

total used free 不用说了大家一看就明白 total = used + free

shared 是指被几个进程共享的内存

buffers 是指被OS buffer住的内存

cached 是指被OS cache住的内存

A buffer is something that has yet to be "written" to disk 。                        buffer是用于存放要输出到disk(块设备)的数据的

A cache is something that has been "read" from the disk and stored for later use.    cache是存放从disk上读出的数据

第二行是从一个应用程序的角度看系统内存的使用情况:

-buffers/cache,表示一个应用程序认为系统被用掉多少内存 (used – buffers – cached)

+buffers/cache,表示一个应用程序认为系统还有多少内存(free + buffers + cached)

所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们主要看这个就好了

记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.

所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦

综合以下博客:

http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

http://www.cnblogs.com/zhaoyl/p/4325811.html

原文地址:https://www.cnblogs.com/cool4ever/p/5251141.html