转自网络
Linux系统会把大部分可用内存划归自己使用。这是Linux管理内存的一种方式,他不是在需要分配空间的时候再到物理内存中去划一块归某个进程使用,而是提前就把整个内存管理起来,需要的时候再分配给某个进程。这样的好处是,因为有了统一管理,不容易出现内存碎片,提高了效率。这些linux管理的内存大多数是空闲状态,你可以看看当新的程序运行的时候,Linux的内存占用不会提高,除非机器的内存已经耗尽。这时Linux会把一些不常用的进程换出到交换分区。
下面是free命令列出的各个选项的详细解释:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
而确定是真实的使用可以采用如下方法:
用free -m查看。
其实是内存的统计方法不同。linux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存。
而free的内存是真正的一点有没有派上用场的内存。
从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
也可以通过其他方式了解linux的虚拟内存管理技术。