SCO UNIX 系統(tǒng)核心參數(shù)的意義
磁盤和緩沖 NDISK 是連到系統(tǒng)上的磁盤驅(qū)動器數(shù)目。它在引導時設(shè)置。
NBUF 在引導時所分配的1K系統(tǒng)緩沖區(qū)的數(shù)目。這些緩沖區(qū)在一個數(shù)據(jù)高速緩存中。這個數(shù)據(jù)高速緩存是一個含有磁盤文件信息的內(nèi)存陣列。高速緩存的命中率隨緩沖區(qū)的增加而提高。高速緩存的命中減少了對磁盤的訪問,并因此提高了系統(tǒng)的整體性能。這個參數(shù)值一般在100到600范圍內(nèi)。每個緩沖區(qū)包含1076個字節(jié)。hash隊列的數(shù)目(NHBUF)應該隨系統(tǒng)緩沖區(qū)的增加,這樣才能獲得最優(yōu)性能。
NPBUF 指定要分配多少個物理I/O緩沖區(qū)。每個讀寫活動都需要一個I/O緩沖區(qū)。每個入口緩沖區(qū)。第入口包含52個字節(jié)。這個參數(shù)的缺省值是20。
NHBUF 指定為1K緩沖區(qū)分配多少hash隊列。這是為了搜索給定設(shè)備號和塊號的緩沖區(qū)的,這樣就不必在整修緩沖區(qū)隊列中進行線性搜索了。這個值必須是2的冪。每個入口包含12個字節(jié)。NHBUF的值必須這樣選,NBUF的值除以NHBUF的值約等于4。(在文件/usr/adm/messages中查看NBUF的值,它在引導時確定并顯示。)
CTBUFSIZE 是以Kbye為單位的磁帶(QIC-11,QIC-24)緩沖區(qū)的大小。它的值應為32到256。它是在初始化時分配的靜態(tài)緩沖區(qū)的大小。下面是與相應環(huán)境對應的合理的值:
32K 勉強的最小值:對數(shù)據(jù)流是不夠的。
64K 允許數(shù)據(jù)流(有益于內(nèi)存小的系統(tǒng))或使用小磁帶(性能并不關(guān)鍵)的最小值。 96K 比缺省低一級的配置,如果缺省值使用的內(nèi)存太多,就減于此。
128K 缺省值:好的性能折衷配置值。
192K 比缺省高一級的配置,如果缺省值所提供的性能太差,就增為這個值。
256K 最大值。
MAXBUF 允許高速緩沖中可有的緩沖區(qū)的最大數(shù)目。這是核心中所說明的緩沖區(qū)頭的數(shù)目。如果所需的緩沖區(qū)數(shù)小于這個數(shù)值,那么在引導時就會依據(jù)內(nèi)存的大小來自動進行配置。如果NBUF不為0,那么就會準確地配置NBUF個緩沖區(qū),而MAXBUF就沒有必要大于NBUF。如果NBUF為0,核心就會動最多配置MAXBUF個緩沖區(qū)。
OMAABLEBUF 每次傳輸大于16MB的DMA請求所需的傳輸緩沖區(qū)的數(shù)目。它一定是一個4到128的值。缺省值為16。
NAUTOUP 為文件系統(tǒng)的自動更新指定以秒為單位的緩沖區(qū)壽命。當一個系統(tǒng)緩沖區(qū)中的內(nèi)容已經(jīng)在內(nèi)存中駐留了由NAUTOUP參數(shù)所指定的這么長時間時,它就會被寫入硬盤。如果指定一個較小的值,那么系統(tǒng)的可靠性就會因為較頻繁地把緩沖區(qū)中內(nèi)容寫入磁盤而提高,但系統(tǒng)性能會降低。指定一個較大的值則會提高系統(tǒng)性能,但要以降低系統(tǒng)安全性為代價。這個控制著bdflush守護進程的活動。
BDFLUSHR 為對把文件系統(tǒng)緩沖區(qū)中的內(nèi)容寫到磁盤上的需要進行檢查指定以秒為單位的頻率。范圍是1至300。缺省值為30秒。這個參數(shù)控制著bdflush守護進程的活動。
PUTBUFSZ 指定環(huán)形緩沖區(qū)putbuf的大小,putbufk 包含由操作系統(tǒng)寫到控制臺上的最后幾個PUTBUFSZ字符。putbuf的內(nèi)容可使用crash(ADM)看到。
PIOMAP 決定由核心可編程I/O(PIO)分解例程使用的映射入口陣弄的大小。這個例程可允許設(shè)備驅(qū)動程序通過把大的數(shù)據(jù)塊分解為小的數(shù)據(jù)單位而在中斷級上完成對大型數(shù)據(jù)塊的可編程I/O操作。用戶不應該修改這個參數(shù)。
DO387CR3 當安裝了一個80387浮點協(xié)處理器時,用以控制對控制寄存器3(CR3)高位字節(jié)的設(shè)置。
NUMTRW 是在核心數(shù)據(jù)空間分配的“傳輸庫接口(TLI)”這個數(shù)據(jù)讀/寫結(jié)構(gòu)的數(shù)目。用戶不應該修改這個參數(shù)。
PRFMAX 是核心簡要表(/dev/prf,在profile(ADM)中有說明)能夠正確處理的文本符號的最大數(shù)目.
NCLIST 指定要分配多少個顯示緩沖區(qū).每個緩沖區(qū)最多包含64個字節(jié).這些緩沖區(qū)動態(tài)地連接于終端線或其它低速設(shè)備的輸入 /輸出隊列表.每個終端所需的平均緩沖區(qū)數(shù)目是5到10個.每個入口(緩沖區(qū)空間加上頭)包含72個字節(jié).滿了以后,與終端有頭的輸入/輸出字符就會丟失,雖然顯示還在繼續(xù).
NEMAP 指定I/O傳輸映射的最大數(shù)目.
NUMXT 確定一個子設(shè)備能夠配置支持的位映射顯示設(shè)備(例如BLIT或AT&T5620終端)的數(shù)目.
NUMSXT 確定一個子設(shè)備能夠配置的SHELL層的數(shù)目,其缺省值為6.
NKDVTTY 確定由控制臺鍵盤驅(qū)動程序支持的虛終端(TTYS)的數(shù)目,用戶不應該修改這個參數(shù).
NCPYRIGHT 定義用以打印控制臺初始化信息的核心數(shù)據(jù)結(jié)構(gòu)的大小.用戶 不應該修改這個參數(shù).
KDBSYMSIZE 是符號表的大小.值一定要在10000至100000之間.缺省值為 60000.
NINODE 指定要分配多少I節(jié)點表的入口,每個表入口都代表一個活動文件的內(nèi)存I節(jié)點.例如,一個活動文件可能是一個當前目錄,一個打開的文件或是一個安裝點.當修改了這個變量,文件控制結(jié)構(gòu)就被修改了.所用的入口數(shù)目依賴于被打開文件的數(shù)目.入口數(shù)一般在100到400之間.缺省值為300.
NINODE 的值直接與NFILE的值有頭.(NINODE等于或大于NFILE)
NINODE一定要小于或等于NSSINODE.NINODE若大于NS5INODE,就會使得系統(tǒng)無法工作.當I節(jié)點表溢出時,在系統(tǒng)控制臺上會顯示如下警告信息: WARNING:i-node table overflow
NFILE 指定要分配多少個打開文件表入口.每個入口表示一個打開的口包含12個字節(jié).NFILE入口直接與NINODE有頭.同樣的方式控制其結(jié)構(gòu)操作.當文件表溢出時,在系統(tǒng)控制臺上會顯示如警告信息: NOTICE:file table overflow請注意:這個參數(shù)不影響每進程打開文件的數(shù)目(請看NFILES參數(shù))
NOFILES 指定每個進程所打開文件的最大數(shù)目.缺省值為60.除非某個的應用程序包要求修改NOFILES,其它情況下不要發(fā)跡這個60的缺省設(shè)置./bin/sh使用了三個文件入口:標準輸入.標準輸出和標準錯誤(0,1,2通常分別為stdin,stdout.stderr保留).這就只給每個進程留了NOFILES減3個其它可打開文件的入口.如果某個進程需要比這個數(shù)目多于三個的可打開文件,那么標準文件就必須被關(guān)閉.這種做法是不提倡的,一定要小心地使用.如果所配置的NOFILE值大于最大值(100)或小于最小值(60),那個所配置的值就置為缺省值(60),同時把一條信息送到控制臺上。
NPROC 指定要分配多少個里程表的入口.每個里程表入口都代表一個的進程,替換程序總在第一個入口中,而/etc/init總在第2個入口中,入中的數(shù)目領(lǐng)事于終端線的數(shù)目和每個用戶產(chǎn)生的進程的數(shù)目,每個用戶進程的平均數(shù)在2至5之間(再請看MAXUP,缺省值為25).如果表被填滿,fork(S)系統(tǒng)調(diào)用就會返回一個錯誤EAGAIN.NPROC的值可在50至400之間.缺省值為100。
