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