unix大杂烩--基础型二( 六 )


SCO UNIX核心参数的含义一、磁盘和缓冲NDISK 是连到系统上的磁盘驱动器数目 。它在引导时设置 。NBUF 在引导时所分配的1K系统缓冲区的数目 。这些缓冲区在一个数据高速缓存中 。这个数据高速缓存是一个含有磁盘文件信息的内存阵列 。高速缓存的命中率随缓冲区的增加而提高 。高速缓存的命中减少了对磁盘的访问,并因此提高了系统的整体性能。这个参数值一般在100到600范围内 。每个缓冲区包含1076个字节。hash队列的数目(NHBUF)应该随系统缓冲区的增加,这样才能获得最优性能 。NPBUF 指定要分配多少个物理I/O缓冲区 。每个读写活动都需要一个I/O缓冲区 。每个入口缓冲区 。第入口包含52个字节 。这个参数的缺省值是20 。NHBUF 指定为1K缓冲区分配多少hash队列 。这是为了搜索给定设备号和块号的缓冲区的,这样就不必在整修缓冲区队列中进行线性搜索了 。这个值必须是2的幂 。每个入口包含12个字节 。NHBUF的值必须这样选,NBUF的值除以NHBUF的值约等于4 。(在文件/usr/adm/messages中查看NBUF的值,它在引导时确定并显示 。)CTBUFSIZE 是以Kbye为单位的磁带(QIC-11,QIC-24)缓冲区的大小 。它的值应为32到256 。它是在初始化时分配的静态缓冲区的大小 。下面是与相应环境对应的合理的值:32K 勉强的最小值:对数据流是不够的 。64K 允许数据流(有益于内存小的系统)或使用小磁带(性能并不关键)的最小值 。96K 比缺省低一级的配置,如果缺省值使用的内存太多,就减于此 。128K 缺省值:好的性能折衷配置值 。192K 比缺省高一级的配置,如果缺省值所提供的性能太差,就增为这个值 。256K 最大值 。MAXBUF 允许高速缓冲中可有的缓冲区的最大数目 。这是核心中所说明的缓冲区头的数目 。如果所需的缓冲区数小于这个数值,那么在引导时就会依据内存的大小来自动进行配置 。如果NBUF不为0,那么就会准确地配置NBUF个缓冲区,而MAXBUF就没有必要大于NBUF 。如果NBUF为0,核心就会动最多配置MAXBUF个缓冲区 。OMAABLEBUF 每次传输大于16MB的DMA请求所需的传输缓冲区的数目 。它一定是一个4到128的值 。缺省值为16 。NAUTOUP 为文件系统的自动更新指定以秒为单位的缓冲区寿命 。当一个系统缓冲区中的内容已经在内存中驻留了由NAUTOUP参数所指定的这么长时间时,它就会被写入硬盘 。如果指定一个较小的值,那么系统的可靠性就会因为较频繁地把缓冲区中内容写入磁盘而提高,但系统性能会降低 。指定一个较大的值则会提高系统性能,但要以降低系统安全性为代价 。这个控制着bdflush守护进程的活动 。BDFLUSHR 为对把文件系统缓冲区中的内容写到磁盘上的需要进行检查指定以秒为单位的频率 。范围是1至300 。缺省值为30秒 。这个参数控制着bdflush守护进程的活动 。PUTBUFSZ 指定环形缓冲区putbuf的大小,putbufk 包含由操作系统写到控制台上的最后几个PUTBUFSZ字符 。putbuf的内容可使用crash(ADM)看到 。PIOMAP 决定由核心可编程I/O(PIO)分解例程使用的映射入口阵弄的大小 。这个例程可允许设备驱动程序通过把大的数据块分解为小的数据单位而在中断级上完成对大型数据块的可编程I/O操作 。用户不应该修改这个参数 。DO387CR3 当安装了一个80387浮点协处理器时,用以控制对控制寄存器3(CR3)高位字节的设置 。NUMTRW 是在核心数据空间分配的“传输库接口(TLI)”这个数据读/写结构的数目 。用户不应该修改这个参数 。二、文件PRFMAX 是核心简要表(/dev/prf,在profile(ADM)中有说明)能够正确处理的文本符号的最大数目 。NCLIST 指定要分配多少个显示缓冲区 。每个缓冲区最多包含64个字节 。这些缓冲区动态地连接于终端线或其它低速设备的输入 /输出队列表 。每个终端所需的平均缓冲区数目是5到10个 。每个入口(缓冲区空间加上头)包含72个字节 。满了以后,与 终端有头的输入/输出字符就会丢失,虽然显示还在继续 。NEMAP 指定I/O传输映射的最大数目 。NUMXT 确定一个子设备能够配置支持的位映射显示设备(例如BLIT或 AT&T5620终端)的数目 。NUMSXT 确定一个子设备能够配置的SHELL层的数目,其缺省值为6 。NKDVTTY 确定由控制台键盘驱动程序支持的虚终端(TTYS)的数目,用户不应该修改这个参数 。NCPYRIGHT 定义用以打印控制台初始化信息的核心数据结构的大小 。用户不应该修改这个参数 。KDBSYMSIZE 是符号表的大小 。值一定要在10000至100000之间 。缺省值为60000 。NINODE 指定要分配多少I节点表的入口 ,每个表入口都代表一个活动文件的内存I节点 。例如,一个活动文件可能是一个当前目录 , 一个打开的文件或是一个安装点.当修改了这个变量,文件控制结构就被修改了.所用的入口数目依赖于被打开文件的数目 。入口数一般在100到400之间 。缺省值为300 。NINODE的值直接与NFILE的值有关 。(NINODE等于或大于NFILE) 。NINODE一定要小于或等于NSSINODE 。NINODE若大于NS5INODE ,就会使得系统无法工作 。当I节点表溢出时,在系统控制台上会显示如下警告信息:WARNING:i-node table overflowNFILE 指定要分配多少个打开文件表入口 。每个入口表示一个打开的口包含12个字节 。NFILE入口直接与NINODE有头 。同样的方式控制其结构操作 。当文件表溢出时,在系统控制台上会显示如警告信息:NOTICE:file table overflow请注意:这个参数不影响每进程打开文件的数目(请看NFILES参数)。NOFILES 指定每个进程所打开文件的最大数目 。缺省值为60 。除非某个应用程序包要求修改NOFILES , 其它情况下不要改变这个60的缺省设置 。/bin/sh使用了三个文件入口:标准输入、标准输出、和标准错误(0,1,2通常分别为stdin,stdout.stderr保留) 。这就只给每个进程留了NOFILES减3个其它可打开文件的入口 。如果某个进程需要比这个数目多于三个的可打开文件,那么标准文件就必须被关闭 。这种做法是不提倡的,一定要小心地使用 。如果所配置的NOFILE值大于最大值(100)或小于最小值(60),那个所配置的值就置为缺省值(60),同时把一条信息送到控制台上 。NPROC 指定要分配多少个里程表的入口。每个里程表入口都代表一个的进程,替换程序总在第一个入口中 , 而/etc/init总在第2个入口中,入中的数目领事于终端线的数目和每个用户产生的进程的数目 , 每个用户进程的平均数在2至5之间(再请看MAXUP,缺省值为25)。如果表被填满,fork(S)系统调用就会返回一个错误EAGAIN.NPROC的值可在50至400之间 。缺省值为100 。

推荐阅读