分享
 
 
 

FreeBSD其他内核设置选项

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

了解了最基本的GENERIC设置文件的内容,使用者就能根据实际情况,将不必要的设置删除,配置一个适合自己硬件的内核。然而GENERIC内核并不能包括更丰富的设置,包括很多支持的硬件种类,或者特定的内核特性等。

除了上面提到的这些较常用到的选项之外,FreeBSD中还支持一些不常使用的设备和选项,例如一些老式的连接到声卡上的光驱、游戏杆等,FreeBSD甚至也支持IP over ATM协议和ATM网卡,千兆以太网卡等最新的网络设备和协议。

所有的选项均可以在LINT文件中找到对应配置的例子,就需要根据具体硬件将配置增加到用户自己的配置文件中。

无论增加哪种硬件设备之后,都要检查系统中是否有相应的设备文件存在。通用内核中不存在的设备,缺省也没有生成对应的设备文件。因此需要进入/dev目录中,使用/dev/MAKEDEV命令来产生相应的设备文件。调整内核性能

当运行一台高性能服务器的时候,缺省设置并不能充分发挥内核的所有能力。为了调整系统性能,便需要考虑更多的设置选项。maxusers

256options

"MAXMEM=(256*1024)"options

"MAXDSIZ=(256*1024*1024)"options

"DFLDSIZ=(256*1024*1024)"options

NMBCLUSTERS=4096

options

CHILD_MAX=512

options

OPEN_MAX=512

options

SMPoptions

APIC_IOoptions

SOFTUPDATES

由于服务器系统运行在高负载下,需要产生数量巨大的进程数目,并打开相当多的文件。为了提供更好的支持就需要增加系统中表格的大小,这应该增加maxusers设置参数。

系统启动时首先通过BIOS来检测系统中的内存,但是一般的BIOS最多只能报告64M内存,因此FreeB SD需要自己检测系统中的内存数量。然而系统内存检测并不一定检测到系统中的所有内存,因此需要在内核设置中指定内存大小,MAXMEM选项就用来指定系统物理内存的容量。上例中将系统内存设置为256MB。

此外,缺省情况下FreeBSD限制每个应用程序使用128MB的内存,这对于一般的应用程序是满足的。但是对于特定的应用程序的服务器,如大容量的新闻组服务器,将占用大量内存,因此就需要增加相应的参数。内核选项MAXD SIZ为最大限制,DFLDSIZ为这个限制的缺省值,那么将应用程序的内存使用限制设为256MB的配置项为上例所示。

为了增加FreeBSD的网络性能,可以增加NMBCLUSTERS的值,这个设置决定网络界面接收数据时的缓冲mbuf的大小,增加这个值就能使系统能同时响应更多的并发请求,这对于Web等高负载服务器特别重要。CHIL D_MAX定义一个进程能打开的最多子进程数数目,而OPEN_MAX定义一个进程能同时打开的文件描述字的数目,这三个参数为继承自4.4BSD中的设置参数,在FreeBSD下一般不需要调整,因此并没有写在LINT配置文件中,一般情况下,NMBCLUSTERS的缺省值对于高负载服务器略小一些,而CHILD_MAC和OPEN_MAX的缺省值能满足一般的高负载服务器的要求。

通常这些数值参数需要根据实际情况进行调整,而不应该一味的增大。使用vmstat,netstat,top 等系统工具可以观察系统在实际情况下的运行状态,以决定需要进行哪些调整。

SOFTUPDATES选项能增加UFS类型的文件系统存取速度,对于大部分种类的网络服务器,系统瓶颈在于磁盘访问速度,而使用这个选项可以改善文件系统的存取性能。这个选项之所以没有被作为缺省设置,主要是因为版权原因。然而为了编译带有SOFTUPDATES选项的内核,还必须手工建立一些符号连接,因为SOFTUPDATES使用的源代码并不直接位于正确的编译路径下,而是位于一个非标准路径下,FreeBSD使用这种方法提醒FreeBSD用户,表示这个部分的版权与BSD版权许可不同,需要单独处理。# cd /usr/src/sys/ufs/ffs# ln -s /usr/src/contrib/sys/softupdates/*.[ch] .

当建立了上述连接之后,带有SOFTUPDATES选项的内核才能被正确编译,然而即使内核支持这个选项,还需要在文件系统中设置softupdate选项,相应文件系统才能真正使用这个功能,这需要对相应的文件系统使用tunefs命令:# tunefs -n enable /dev/rda0s1d

这个命令只需执行一次就行了,为了避免出现问题,请在系统的单用户模式下执行这个命令。同样可以使用tune fs -n disable可以屏蔽这个功能。

此外,对于多处理器的服务器系统,还可以使用SMP选项和APIC_IO选项以支持多处理器。

可以在编译内核时打开更多的优化选项,缺省情况的只能提供十分基本的优化,而且是使用标准版本的gcc 2. 7.2.1来编译系统的。可以安装egcc,并指定更高的优化选项,如-O6和-mPentium,来获得更高级别的优化和利用Pentium芯片专用指令。由于egcc仅仅支持ELF格式的执行文件,因此不能用于3.0之前(包括3 .0-REKLEASE)使用a.out格式内核的系统。

当使用egcc编译内核时,需要更改执行config后产生的内核目录下的Makefile,需要重新定义C C选项为/usr/local/bin/egcc,并更改优化选项-O为-O -mpentium,但是由于egcc 不支持gcc的编译选项-fformat_externsion,因此还需要更改Makefile引用的/usr/s rc/share/mk/bsd.kern.mk文件,删除这个文件中这个编译选项的定义。

虽然理论上编译器优化不影响编译结果,但是编译器本身也会存在问题,使得在某些情况下发生错误。尤其对于系统内核,它决定系统的稳定性。因而在编译时采用过高的优化时就要特别小心,极其偶然的情况下会过高优化的内核会造成系统崩溃。因此在正式使用一个优化内核之前,应该保留一个原有的、使用普通优化选项的内核。新内核经过一定时间实际运行的考验,确认没有问题之后才能放心用于正式使用。声卡设备

通常对于SoundBlaster兼容的声卡,可以使用的以下配置选项:controller

pnp0controller

snd0device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintroptions

SBC_IRQ=5device

sbxvi0

at isa? drq 5device

sbmidi0

at isa? port 0x330device

opl0

at isa? port 0x38a

其中pnp0控制器是帮助设置ISA接口的PNP声卡的资源,这主要用于使用BIOS为ISA PNP设备分配资源的情况下。但如果不是ISA PNP的声卡,就不需要这个设置,而且如果ISA PNP声卡能设置为非PNP类型,最好将其设置为非PNP类型,ISA总线下的PNP声卡比较难以设置。

如果系统中安装有DOS的话,可以启动到DOS下,使用该卡的设置程序或一些系统硬件分析软件寻找BIOS分配给ISA PNP卡的资源。

snd0提供最基本的声卡支持代码,sb0为SoundBlaster兼容声卡驱动程序,要根据声卡的配置参数更改sb0驱动程序的IRQ、DMA以及port数值。改变IRQ值的时候,不仅应该在sb0的配置行中改变,还应该使用SBC_IRQ配置选项。

sbvxi0也是SoundBlaster 16所需的代码,大部分声称与SoundBlaster兼容的声卡并不能做到完全兼容SoundBlaster 16,最多兼容SoundBlaster或SoundBlaster Pro,因此就不能支持这个设备,只有真正的SoundBlaster 16才能使它发挥作用。sbmidi0为So undBlaster声卡的MIDI接口的驱动程序,很多兼容声卡也不支持这个设备。opl0为SoundBlast er兼容声卡使用的Yamaha OPL-2和OPL-3芯片使用的驱动。

使用上面的配置选项,设置正确的资源参数,就可以支持soundblaster兼容声卡。但是不同声卡对So undblaster的兼容性不同,因此系统检测时就不能检测到所有的设备,如midi设备或sbvxio0设备,但一般都可以检测到sb0设备,这就能提供基本的声卡设备支持。

声卡设备还需要相应设备文件snd0的支持:# cd /dev# ./MAKEDEV snd0

当使用这些选项重新编译好内核,并启动之后,就可以查看声卡系统是否工作正常。首先应使用 dmesg命令查看系统是否侦测出了声卡设备,如果没有侦测出,就可能是硬件参数配置的问题,需要使用 UserConfig更改配置。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有