开发者社区> 问答> 正文

linux服务器内存不断增长的问题

1. 首先对free 查看结果进行分析

[root@AY1305071425229707d6 ~]# free
             total       used       free     shared    buffers     cached
Mem:        500832     143624     357208          0       3316      61332
-/  buffers/cache:      78976     421856
Swap:            0          0          0
[root@AY1305071425229707d6 ~]#


各参数含义:


  1.   total:总物理内存

  2.   used:已使用内存

  3.   free:完全未被使用的内存

  4.   shared:应用程序共享内存

  5.   buffers:缓存,主要用于目录方面,inode值等

  6.   cached:缓存,用于已打开的文件

  7.   -buffers/cache:应用程序使用的内存大小,used减去缓存值(buffers和cached)

  8.    buffers/cache:所有可供应用程序使用的内存大小,free加上缓存值(buffers和cached)

 其中:

  1.   total = used   free

  2.     -buffers/cache=used-buffers-cached,这个是应用程序真实使用的内存大小

  3.      buffers/cache=free buffers cached,这个是服务器真实还可利用的内存大小

2. Linux的内存分配方式
  Linux服务器为了提高效率,会提前申请内存,即使这些内存没有被具体应用使用,Linux也会提前申请这些内存,然后利用这些内存做缓存用,即将刚打开的文件系统存入cache中,这样对应的服务器free值会越来越少,buffers和cached会越来越大,因此内存越来越少了;其实,Linux服务器在内存不足时,会自动清理cached区域,释放内存,然后继续增大 cache,free继续减少.




威武强大的阿里云 >> 95折优惠链接 <


展开
收起
ali888999 2013-05-11 10:57:33 10781 0
2 条回答
写回答
取消 提交回答
  • 楼主把缓存清理一下,这是linux的内存管理机制,就是这样的。很正常!
    2013-05-14 15:28:49
    赞同 展开评论 打赏
  • 威武强大的阿里云
    2013-05-11 10:59:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载