oraunix 发表于 2010-11-6 21:06:08

正确理解linux还有多少内存可用

本帖最后由 oraunix 于 2010-11-6 21:07 编辑

我们看一个系统有多少内存可用,主要使用free命令。
root@server ~]# free -m
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191
Swap: 511 0 511

第一行的buffer、cache是对于os来说的,这些内存已经分配出去。
第二行的used、free是对于应用程序来说的,191是系统应用真正可用的内存空间。
系统会尽量多的将内存分配给buffer和cache,但是这些应用只是在需要内存的时候才会从buffer、cache中去取。
我们有时候要区别buffer和cache的区别:
例如:buffer缓存写、cache缓存读;buffer主要是缓存文件系统的一些原数据、例如inode、权限等,cache主要是缓存文件。
我们可以使用最简单的一些方法来判断两个缓存的一些区别。
例如ls 命令以后,buffer增加明显;cp一些文件一些,cache增加明显;sync后,释放内存时,buffer释放明显等。
释放内存的命令如下:
root@server test]# echo 3 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
3

我们要经常关心系统物理内存的一个具体使用情况。

spectre 发表于 2011-3-2 01:39:02

学习了~~老师:):):)

eric79 发表于 2011-4-12 22:19:43

:P学习学习

西部农民 发表于 2011-4-23 14:53:52

学习。。。。。。。

ylw38 发表于 2012-9-3 16:08:06

太好了!谢谢老师讲解

mine_jie 发表于 2012-9-6 09:23:10

一起加油!

vipfbi123 发表于 2012-9-15 13:46:24

顶顶顶顶顶顶顶顶顶顶

denelf 发表于 2012-9-19 11:40:54

老师2年前的帖子都上论坛首页了
页: [1]
查看完整版本: 正确理解linux还有多少内存可用