Linux 系统内存使用经验
今天因为要解释系统中可用内存的大小,用 google 看了半天,还有在 CU 上找了关
天,竞然没有发现有比较好的章,估计很多人都没有注意到,懂了以后又没有整理出来。
在 CU 上看了很多文章说什么 memory leak 和 linux 内存管理不好,事实都是因为
不懂 linux 的内存管理引起的误会。
Linux 的内存管理,实际上跟 windows 的内存管理有很相像的地方,都是用虚 拟内
存这个的概念,说到这里不得不骂 MS,为什么在很多时候还有很大的物理内存的时候,
却还是用到了 pagele. 所以才经常要跟一帮人吵着说 Pagele 的大小,以及如何分配这
个问题,在 Linux 大家就不用再吵什么 swap 大小的问题,我个人认为,swap 设 个
512M 已经足够了,如果你问说 512M 的 SWAP 不够用怎么办?只能说大哥你还是加内存
吧,要不就检查你的应用,是不是真的出现了 memory leak.
在 Linux 下查看内存我们一般用 command free
[root@nonamelinux ~]# free
total used free shared bu*ers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ bu*ers/cache: 200368 185656
Swap: 393552 0 393552
下面是对这些数值的解释:
第二行(mem):
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Bu*ers/cached:磁盘缓存的大小。
第三行(-/+ bu*ers/cached):
used:已使用多大。