Panabit Support Board!

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5189|回复: 1

问个关于BSD内存分配的问题(使用了panabit)

[复制链接]
发表于 2010-11-29 14:06:15 | 显示全部楼层 |阅读模式
请问我该如何来判断内存不够用了?
当内存不够用了,BSD系统是kernel panic还是程序coredump,kernel回收内存,程序重新启动?
另外,是否做了软件的使用内存限制?我之前碰到的开发人员,是这么做的,采用系统的40%内存,当程序所需内存耗光时,将程序restart。(不得已的做法,内存泄露导致的)
我现在是标准版设备直接采用千兆口,并且是2000个人以上的网络
通过top发现,free这块数字不断减少中,Active不断增加,我就担心free这块减少到0该怎么办?是否会减少到0?
请Panabit兄解答下,非常感谢!
 楼主| 发表于 2010-11-29 14:18:21 | 显示全部楼层
当FreeBSD系统上线运行一段时间后,用top命令查看内存的使用情况,会发现Free内存已经变得很小了。而在同样应用的情况下,Windows Server的Free内存会有很大的剩余。这是为什么呢?难道FreeBSD系统比Windows Server还要消耗内存?

  答案当然是否定的。其实,这是由于FreeBSD的内存管理与Windows Server的不同。FreeBSD会最大化的利用系统中的内存,系统中有多少内存,FreeBSD都会尽量去使用。

  使用top命令,你会发现内存被分为以下几种。


引用
Active,在一段时间内被使用的内存
Inact(Inactive),在一段时间内没有被使用的内存
Wired,挂起的内存,系统内核使用的内存
Cache、Buf,顾名思义,用于缓存,其中的数据有可能被再次使用,避免从磁盘中读取,加快读取速度
Free,系统中空闲的内存



  当需要使用内存时,是以以下优先级来进行的。


引用
Free > Cache(Buf) > Inact > Active


  所以,当Free变小时,不必担心内存不够用,只要Free内存还有,就表示内存够用。这正是FreeBSD内存管理的优越性,最大化利用内存,使系统的整体性能得到充分的发挥。只有当Swap使用较多时,我们才应该考虑增加内存了。



查了一下相关帖子,里面说只要Free内存还有,就表示内存够用。那要是没有咋办?从cache里还是buffer里拿?
256M内存,真的有些担心设备是否能撑得住。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|北京派网软件有限公司 ( ICP备案序号:京ICP备14008283号 )

GMT+8, 2024-11-24 22:23 , Processed in 0.068733 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表