回1楼小猪猪的帖子
依斑竹之见,一楼所图内容,内存是不是还有回旋余地!
-------------------------
 回3楼dongyanghm的帖子
这是我查到的,很好的解释,供参考!
这也是让我们更深入的理解此FREE命令,及linux内核处理内存的机制了:
我的linux执行free命令显示如下:
[root@Linux /tmp]# free
              total       used       free     shared    buffers     cached
 Mem:       4149156    4130412      18744          0      13220    2720160
 -/+ buffers/cache:    1397032    2752124
 Swap:      6289408        144    6289264第1行
total 内存总数: 4149156
 used 已经使用的内存数: 4130412
 free 空闲的内存数: 18744
 shared 当前已经废弃不用,总是0
 buffers Buffer Cache内存数: 13220
 cached Page Cache内存数: 2720160
关系:total = used + free
第2行:
-/+ buffers/cache的意思相当于:
-buffers/cache 的内存数:1397032 (等于第1行的 used - buffers - cached)
 +buffers/cache 的内存数: 2752124 (等于第1行的 free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
 第三行单独针对交换分区, 就不用再说了.
为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
-------------------------
 Re512M内存到底要不要开启Swap
 用不完,不用开!