新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > Unix系统 > FreeBSD教程 > 正文:调整FreeBSD的虚拟内存系统

调整FreeBSD的虚拟内存系统

新客网 XKER.COM 2008-01-18 来源:新客网编辑整理 佚名 收藏本文

  【新客网FreeBSD教程】开发者的协同努力使得FreeBSD可以自行动态调整内核。一般来说, 除了内核配置选项maxusers和NMBCLUSTERS,你不需要做任何杂乱的事情。这些内核编译配置选项(一般)被指定在 /usr/src/sys/i386/conf/CONFIG_FILE 之中。 所有可用内核配置选项的描述可在 /usr/src/sys/i386/conf/LINT中找到。 在一个大系统的配置中,你可能需要增加maxusers的值。数值范围通常在10到128。注重,过度增加maxusers 的值可能导致系统从实际可用的KVM中溢出,从而引起无法预知的操作。 最好将maxusers设为一个合理的数值,并且添加其它选项, 如NMBCLUSTERS,来增加特定的资源。

  假如你的系统要被重负荷的使用网络,你需要增加 NMBCLUSTERS的值。数值范围通常在1024到4096。 NBUF也是传统的规划系统的参数。这个参数决定系统可用来映射文件系统输入/输出缓存的KVM的数量。注重:这个参数与统一的缓存没有任何关系。这个参数可在3.0-CURRENT 和以后的内核中被动态的调节,通常不应当被手动的调节。 我们推荐你不要指定NBUF。让系统自行确定它。太小的值会导致非常低效的文件系统操作;太大的值会使用页队列中缺少页面,而大量的页处于穿线状态。 缺省情况下,FreeBSD内核编译时是不被优化的。 你可以在内核配置文件中用makeoptions 指定排错(debugging)和优化标志。注重,你一般不应使用-g, 除非你能够应付由此产生的大内核(典型的是7MB或更多)。
makeoptions DEBUG="-g"
makeoptions COPTFLAGS="-O -pipe"

  Sysctl提供了在运行时调整内核的方式。你通常不需要指定任何sysctl变量,尤其是与VM相关的那些变量。 运行时VM和系统调整的影响相对直接一些。 首先,应当尽可能在UFS/FFS文件系统上使用Soft Updates。 在/usr/src/sys/ufs/ffs/README.softupdates 里有关于如何配置的指示。

  其次,应当配置足够多的交换空间。 你应当在每个物理磁盘上配置一个交换分区,最多4个,甚至在你的“工作”磁盘上。你应当有至少2倍于主内存的交换空间;假如你没有足够内存的话,交换分区还应更多。你也应当按照你期望中的最大内存配置决定交换分区的大小,这样以后就不再需要重新给磁盘分区了。 假如你处理系统崩溃后的内存倾倒(crash dump),第一个交换分区必须至少与主内存一样大, /var/crash必须有足够的空间来承装倾倒。 NFS上的交换分区可以很好的被4.X或后来的系统使用,但是你必须明白NFS服务器将要经受页装载操作很强的冲击。

    

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐