SCO核心参数详细说明


在SCO OpenServer 5中,用./configure或scoadmin→Hardware /Kernel Manager→Parameters可以配置系统的核心参数,这些系统可调核心参数共分为18大类,
1 Buffers Management 缓存区管理参数2 Process and paging 进程管理参数3 TTYS 与字符设备驱动程序相关的数据结构大小和其它限制参数4 Name Cache 与文件名和节点号之间映射相关的Name Cache有关参数5 AIO 异步I/O性能相关参数6 Virtual Disks 虚拟硬盘管理和配置相关参数7 User and group configuration 控制与单个用户或组相关的系统资源参数8 Security 系统安全性能参数9 TTY and console configuration 终端相关参数10 Filesystem configuration 不同文件系统的配置参数11 Table limits 动态核心表相关的内存配置参数12 Streams 字符I/O接口的配置相关参数13 Messages queues 进程间通讯消息相关参数14 Event queues 事件队列配置相关参数15 Semaphores 进程间通讯信号灯相关参数16 Shared data 进程间通讯共享相关参数17 Miscellaneous system string buffer和kernel profiler symbol table相关参数18 Miscellamious device drivers and hardware parameters相关参数下面让ytjoe带你来一个一个学习这些参数.

Buffers Management 缓存区管理参数包括:NBUF:total system buffers the value is wrrenty determined at system start up以KB为单位,定义系统启动时分配的全部缓存区的数量.buffer cache是硬盘和用户地址空间之间的临时缓存区域.NBUF控制buffer cache的数量.改变NBUF必须同时改变NHBUF参数,通常NBUF/NHBUF约等于4.系统引导时所显示的"kernel i/o bufs"表示buffer cache的大小,在文件/usr/adm/messages中也记录了buffer cache的大小.增加buffer cache的大小,可以提高buffer cache的使用频率,减少硬盘的读写次数,从而整体提高硬盘的I/O性能.使用命令sar -b可以获得系统buffer cache使用频率的有关报告.通常情况下,系统buffer cache的数量为300~600,在大型的服务器系统上buffer cache的数量为8000或者更多,NBUF缺省值设置为0,表示系统在引导时自动设置buffer cache的大小.NHBUF:hash buffers(for disk block sorting)表示系统上有多少个混队队列要分配,每一个混队队列占用8个字节的内存.NHBUF必须是2的乘幂,取值范围是32~524288,缺省值为0,表示系统在引导时自动设置NHBUF的大小.在单CPU的计算机系统上,NHBUF的值必须少于NBUF大小的1/2.在多CPU的计算机系统上,NHBUF的值一般设置为单CPU情况下设置的2倍以上,这可以减少需要访问同一混对队列的多个进程之间的可能链接.NMPBUF:number of dmaable page for scatter-gather and dma reguests以4KB内存页面为单位,定义16KB簇缓存区、4KB传输缓存区transfer buffer以及1KB复制请求缓存区copy request buffer的数量.如果系统上建立了许多用户,以及系统内存大于16MB,NMPBUF的数量不能少于40.NMPBUF的缺省值为0,这种情况下,系统在启动时,根据内存数量的多少,将NMPBUF设置为40~64之间的某个数值.NMPBUF的最大取值为512.PLOWBUFS:Percentage og buffers,below 16MB以百分比的形式,表示第一个16MB的RAM中,所包含的buffer cache数量.如果系统中硬盘等外围设备的控制器不能执行DMA到内存的操作(例如24位地址控制器),那么应该将PLOWBUFS值尽可能地设置的大些,如果允许,可以把PLOWBUFS值设置为100,这样可以消除16MB以上内存和复写内存copy buffer之间的复制需要.PLOWBUFS的取值范围是1~100,缺省值为30.系统内存多于16MB,可以调整PLOWBUFS的值,否则建议使用缺省值.PUTBUFSE:Size of the circular buffer putbuf这个参数确定循环缓冲区PUTBUF的大小,PUTBUF包含了最近的由操作系统传输给终端的PUNBUFSE自负,可以使用crash(ADM)查看PUTBUF的内容.PUTBUFSE缺省值是2000,最大值是10000.MHINODE:inode hash table size确定inode hash table的大小,MHINODE的取值必须是2的乘幂,取值范围是64~8192,缺省值是128.BDFLUSHR:interval in secouds between bdflush being run这个参数以秒为单位定义系统守护进程bafflush的运行时间长度,既定以buffer cache中的内容写入硬盘的时间.BDFLUSHR必须和NAUTOUP联合调整.取值范围是1~300秒,缺省值为30秒.加大该值会降低硬盘性能,增大数据丢失概率.如果将BDFLUSHR设置为300秒,平均而言,buffer cache中大约150秒的数据将丢失.NAUTOUR:age,in secouds,tat a delayed-write buffer must be before bdflush writes it out以秒为单位,定义缓冲区数据的寿命,既定义文件系统自动更新的时间间隔.其值大小应该同BDFLUSHR匹配.只有当bdflush守护进程运行,并且缓存区被安排了一段NAUTOUR时间或者更长的时间用于写操作,缓存区里的数据才被写入硬盘.也就是说,并皇撬械男椿捍媲赽dflush守护进程运行时都会被更新.因为bdflush守护进程运行的时间相对NAUTOUP时间短一些,这样就可以实现某个进程对缓存区多次进行写操作,减少对硬盘的实际写操作.如果减少BDFLUSHR/NAUTOUP比值,实际的硬盘读写次数也会减少,系统的I/O性能将得到提高,但I/O过程的可靠性将降低.如果增加BDFLUSHR/NAUTOUP比值,系统的I/O过程的可靠性会得到提高,但I/O性能将下降.NAUTOUP取值范围是0~60,缺省值是10.

推荐阅读