この章では、カーネルパラメタを調整する手順について説明します。この章で説明する手順は以下のとおりです。
sysdef -i コマンドを使用して、現在のカーネルパラメタの値を表示します。
# sysdef -i * Hostid 53001b80 * * sun4m Configuration * Devices packages (driver not attached) disk-label (driver not attached) deblocker (driver not attached) obp-tftp (driver not attached) . . . options, instance #0 aliases (driver not attached) openprom (driver not attached) iommu, instance #0 sbus, instance #0 espdma, instance #0 esp, instance #0 sd (driver not attached) st (driver not attached) . . .
次の 1 行を /etc/system ファイルに追加します。
set parameter=value
カーネルパラメタの変更を確認します。
# grep parameter /etc/system
システムをリブートします。
カーネルは自動構成中に /etc/system ファイルを構文解析し、このファイル内で指定されたパラメタでデフォルト値を上書きします。
/etc/system ファイル内の次の行は、max_nprocs パラメタの値を 500 に設定します。
set max_nprocs=500
次の 1 行を /etc/system ファイルに追加します。
set module_name:variable=value
カーネルモジュール変数の変更を確認します。
# grep module_name /etc/system
システムをリブートします。
カーネルは自動構成中に /etc/system ファイルを構文解析し、このファイル内で指定されたパラメタでデフォルト値を上書きします。
/etc/system ファイル内の次の行は、msgsys モジュール内の msginfo_msgmap パラメタの値を 150 に設定します。
set msgsys:msginfo_msgmap=150
bufhwm パラメタでは、バッファーキャッシュメモリーの最大サイズを 1K バイト単位で指定します。デフォルトは物理メモリーの 2% です。sar(1M) を使用して、バッファーキャッシュの統計情報を表示します。
表 66-1 は、調整可能な UFS パラメタを示します。
表 66-1 UFS ファイルシステムパラメタ
パラメタ |
説明 |
---|---|
ufs_ninode |
i ノードテーブルの最大サイズ (デフォルト = max_nprocs + 16 + maxusers + 64) |
ncsize |
dnlc エントリ数 (デフォルト = max_nprocs + 16 + maxusers + 64)。dnlc はディレクトリ名検索キャッシュ。 |
表 66-2 は、調整可能な STREAMS パラメタを示します。
表 66-2 STREAMS パラメタ
パラメタ |
デフォルト |
説明 |
---|---|---|
9 |
STREAMS プッシュの最大許容数 |
|
0 |
ユーザーが作成できる STREAMS メッセージの最大サイズ。値 0 は上限がないことを示す。このパラメタは、今後のリリースからは削除される可能性がある。 |
|
1024 |
メッセージの ctl 部分の最大サイズ |
|
0 |
STREAMS サブシステムが消費できる動的メモリーの最大バイト数。このしきい値を超えると、root プロセス以外での STREAMS デバイス上のプッシュ、オープン、書き込みは失敗する。値 0 は無制限を意味する。 |
|
16 |
sad デバイス数 |
表 66-3 は、調整可能なプロセス間通信パラメタを示します。
表 66-3 プロセス間通信パラメタ
パラメタ |
デフォルト |
説明 |
メッセージ待ち行列 |
||
msginfo_msgmap |
100 |
message マップ内のエントリ数 |
msginfo_msgmax |
2048 |
メッセージの最大サイズ |
msginfo_msgmnb |
4096 |
待ち行列上の最大バイト数 |
msginfo_msgmni |
50 |
メッセージ待ち行列識別子の数 |
msginfo_msgssz |
8 |
メッセージのセグメントサイズ (ワードサイズの倍数) |
msginfo_msgtql |
40 |
システムメッセージのヘッダ数 |
msginfo_msgseg |
1024 |
メッセージセグメント数 (必ず 32768 未満であること) |
セマフォ機能 |
||
seminfo_semmap |
10 |
セマフォマップ内のエントリ数 |
seminfo_semmni |
10 |
セマフォ識別子の数 |
seminfo_semmns |
60 |
システム内のセマフォ数 |
seminfo_semmnu |
30 |
システム内の undo 構造体の数 |
seminfo_semmsl |
25 |
id ごとの最大セマフォ数 |
seminfo_semopm |
10 |
セマフォコールごとの最大操作数 |
seminfo_semume |
10 |
プロセスごとの最大 undo エントリ数 |
注: システムに割り当てられている undo 構造体の合計数は次のとおりです。 seminfo_semmnu * seminfo_semume |
||
seminfo_semvmx |
32767 |
セマフォの最大値 |
seminfo_semaem |
16384 |
終了時の最大調整値 |
共有メモリー |
||
shminfo_shmmax |
1048576 |
共有メモリーセグメントの最大サイズ |
shminfo_shmmin |
1 |
共有メモリーセグメントの最小サイズ |
shminfo_shmmni |
100 |
共有メモリー識別子の数 |
shminfo_shmseg |
6 |
プロセスごとのセグメント数 |
表 66-4 の構文を使用して 1 行を /etc/system ファイルに追加します。
表 66-4 プロセス間通信パラメタの調整
パラメタのタイプ |
パラメタ |
調整構文 |
---|---|---|
msgsys |
set msgsys:msginfo_variable = value |
|
semsys |
set semsys:seminfo_variable=value |
|
Shared Memory |
shmsys |
set shmsys:shminfo_variable=value |
カーネルパラメタの変更を確認します。
# grep parameter /etc/system
システムをリブートします。
カーネルは自動構成中に /etc/system ファイルを構文解析し、このファイル内で指定されたパラメタでデフォルト値を上書きします。
表 66-5 は、調整可能なメモリー管理パラメタを示します。
表 66-5 メモリー管理パラメタ
パラメタ |
デフォルト |
説明 |
---|---|---|
物理メモリーに基づいて調整 |
freemem が lotsfree を下回ると、システムはプロセスからページを取り始める。 |
|
30 |
fsflush の実行速度を表す秒数 |
|
25 |
デッドロックを防ぐために必要な最小使用可能 (スワップ可能ではなく) 常駐メモリーのページ数 |
|
25 |
デッドロックを防ぐために必要な最小スワップ可能メモリーのページ数 |
|
512 |
有効な frlocks の最大数 |
Solaris 2.4 リリース以降では、tune_t_gpgslo パラメタは、実行可能スレッド数に基づくスワッピングのために、より複雑な基準に置き換えられています。
freemem パラメタはページ単位で定義されます。vmstat などのユーティリティは、freemem をページ数からバイト数に変換します。
スーパーユーザーになります。
次の構文を使用して /etc/system ファイルに 1 行を追加します。
set tune:variable=value
カーネルパラメタの変更を確認します。
# grep parameter /etc/system
システムをリブートします。
カーネルは自動構成中に /etc/system ファイルを構文解析し、このファイル内で指定されたパラメタでデフォルト値を上書きします。
表 66-6 は、調整可能なその他のパラメタを示します。
表 66-6 Miscellaneous パラメタ
パラメタ |
デフォルト |
説明 |
---|---|---|
8192 |
lwps のカーネルスタックのサイズ。カーネルのオーバーフローが発生した場合以外は、この値を調整しないこと。この値はバイト数で表され、PAGESIZE バイトの倍数でなければならない。 |
|
48 |
構成済みの 4.x の疑似 tty の合計数 |
|
48 |
スーパーユーザーになります。
次の構文を使用して /etc/system ファイルに 1 行を追加します。
set parameter=value
カーネルパラメタの変更を確認します。
# grep parameter /etc/system
システムをリブートします。
デバイス関連のカーネルパラメタを変更した場合は、システムをブートするときに -r オプションを使用する必要があります。システムブート時の自動構成中に、カーネルは /etc/system ファイルを構文解析し、このファイル内で指定されたパラメタでデフォルト値を上書きします。
/etc/system ファイル内の次の行は、pt_cnt パラメタの値を 200 に設定します。
set pt_cnt=200