Solaris のシステム管理 (第 2 巻)

カーネルパラメタとシステム性能

カーネル内の多数の基本的なパラメタ (またはテーブル) は、maxusers パラメタの値から計算されます。テーブルには領域が動的に割り当てられます。ただし、これらのテーブルの最大値を設定して、アプリケーションが大量のメモリーを占めないようにできます。

デフォルトでは、maxusers はシステム上の物理メモリーのメガバイト数と同程度に設定されています。ただし、システムが 1024 を超える maxusers を設定することはありません。maxusers の最大値は 2048 であり、これは /etc/system ファイルを変更して設定できます。

カーネルパラメタについては、第 28 章「カーネルパラメタの調整手順」system(3S) のマニュアルページを参照してください。

表 24-6 のように、maxusers の他にも多数のカーネルパラメタが、システム上の物理メモリーの容量に基づいて動的に割り当てられます。

表 24-6 カーネルパラメタ

カーネルパラメタ 

説明 

ufs_ninode

i ノードテーブルの最大サイズ 

ncsize

ディレクトリ名検索キャッシュのサイズ 

max_nprocs

プロセスの最大サイズ 

ndquot

ディスク割り当て構造体の数 

maxuprc

1 ユーザー ID 当たりのユーザープロセスの最大数 

表 24-7 は、maxusers に割り当てられた値の影響を受けるカーネルパラメタのデフォルト設定を示しています。

表 24-7 カーネルパラメタのデフォルト設定

カーネルテーブル 

変数 

デフォルト設定 

i ノード 

ufs_ninode

max_nprocs + 16 + maxusers + 64

名前キャッシュ 

ncsize

max_nprocs + 16 + maxusers + 64

プロセス 

max_nprocs

10 + 16 * maxusers

割り当てテーブル 

ndquot

(maxusers * NMOUNT) / 4 + max_nprocs

ユーザープロセス 

maxuprc

max_nprocs - 5

カーネルパラメタの説明とデフォルト値を変更する方法については、 第 28 章「カーネルパラメタの調整手順」を参照してください。