JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 カーネルのチューンアップ・リファレンスマニュアル     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris システムのチューニングの概要

2.  Oracle Solaris カーネルチューニング可能パラメータ

チューニング可能パラメータ情報の記載箇所

カーネルとメモリーの一般的なパラメータ

physmem

default_stksize

lwp_default_stksize

logevent_max_q_sz

segkpsize

noexec_user_stack

fsflush とそれに関連するパラメータ

fsflush

tune_t_fsflushr

autoup

dopageflush

doiflush

プロセス規模調整パラメータ

maxusers

reserved_procs

pidmax

max_nprocs

maxuprc

ngroups_max

ページング関連パラメータ

lotsfree

desfree

minfree

throttlefree

pageout_reserve

pages_pp_maximum

tune_t_minarmem

fastscan

slowscan

min_percent_cpu

handspreadpages

pages_before_pager

maxpgio

スワッピング関連パラメータ

swapfs_reserve

swapfs_minfree

カーネルメモリーアロケータ

kmem_flags

kmem_stackinfo

一般的なドライバパラメータ

moddebug

ddi_msix_alloc_limit

ネットワークドライバ パラメータ

igb パラメータ

mr_enable

intr_force

ixgbe パラメータ

tx_queue_number

rx_queue_number

intr_throttling

rx_limit_per_intr

tx_ring_size

rx_ring_size

tx_copy_threshold

rx_copy_threshold

一般的な入出力パラメータ

maxphys

rlim_fd_max

rlim_fd_cur

一般的なファイルシステムパラメータ

ncsize

dnlc_dir_enable

dnlc_dir_min_size

dnlc_dir_max_size

dnlc_dircache_percent

TMPFS パラメータ

tmpfs:tmpfs_maxkmem

tmpfs:tmpfs_minfree

仮想端末

pt_cnt

pt_pctofmem

pt_max_pty

STREAMS パラメータ

nstrpush

strmsgsz

strctlsz

System V メッセージキュー

System V セマフォー

System V 共有メモリー

segspt_minfree

スケジューリング

disp_rechoose_interval

タイマー

hires_tick

timer_max

SPARC システム固有のパラメータ

tsb_alloc_hiwater_factor

default_tsb_size

enable_tsb_rss_sizing

tsb_rss_factor

近傍性グループのパラメータ

lpg_alloc_prefer

lgrp_mem_pset_aware

3.  Oracle Solaris ZFS チューニング可能パラメータ

4.  NFS チューニング可能パラメータ

5.  インターネットプロトコル群のチューニング可能パラメータ

6.  システム機能のパラメータ

A.  チューニング可能パラメータの変更履歴

B.  このマニュアルの改訂履歴

索引

プロセス規模調整パラメータ

システムで使用されるプロセスの数や個々のユーザーが作成できるプロセスの数を制御するパラメータ (または変数) がいくつかあります。基本パラメータは maxusers です。このパラメータによって、max_nprocsmaxuprc に値が割り当てられます。

maxusers

説明

maxusers は、当初、システムがサポートできるログインユーザーの数を指定するものでした。カーネルの生成時に、この設定値に基づいて各種テーブルの大きさが決定されました。Oracle Solaris 最新リリースでは、そのサイジングの大半をシステム上のメモリー容量に基づいて行います。したがって、maxusers の使い方がこれまでとは大きく変わりました。引き続き、maxusers に基づいて決定されるサブシステムには次のものがあります。

  • システムで使用できるプロセスの最大数

  • システムに保持される割り当て構造体の数

  • ディレクトリ名検索キャッシュ (DNLC) の大きさ

データ型

符号付き整数

デフォルト

M バイト単位のメモリーの容量と 2048 のどちらか小さい方、およびその値と nCPU x 8 のどちらか大きい方

範囲

/etc/system ファイル内に設定されていない場合、物理メモリーのサイズに基づいて、1 から 2048 と nCPU x 8 のどちらか大きい方まで

/etc/system ファイル内に設定されている場合、1 から 4096 と nCPU x 8 のどちらか大きい方まで

単位

ユーザー

動的か

いいえ。このパラメータに依存する変数を計算した後に maxusers が再び参照されることはありません。

検証

許容される最大数より値が大きい場合、最大数にリセットされます。その作用に関するメッセージが表示されます。

どのような場合に変更するか

システムによって計算されたデフォルトのユーザープロセス数が小さすぎる場合。このような状況は、システムコンソールに表示される次のメッセージでわかります。

out of processes

次の状況のように、デフォルトのプロセス数が多すぎる場合に、このパラメータを変更するかもしれません。

  • 多量のメモリーがあり、動作しているプロセスの数が比較的少ないデータベースサーバーでは、maxusers のデフォルト値を少なくすることによってシステムメモリーをセクション約できます。

  • 多量のメモリーがあり、動作しているプロセスがほとんどないファイルサーバーでは、この値を減らせる場合があります。しかし、その場合、DNLCのサイズを明示的に設定する必要があります。ncsizeを参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、maxusersを参照してください。

reserved_procs

説明

UIDが root (0) のプロセス用に、プロセステーブルで確保するシステムプロセススロット数を指定します。たとえば、fsflush には root (0) の UID が与えられます。

データ型

符号付き整数

デフォルト

5

範囲

5 から MAXINT

単位

プロセス数

動的か

いいえ。最初のパラメータ計算の後は使用されません。

検証

/etc/system のどの設定も受け入れられます。

コミットレベル

変更の可能性あり

どのような場合に変更するか

たとえば、システムの UID 0 (root) のプロセスの数を、通常の値から 10 大きくした場合を考えてみてください。この設定をしないとユーザーレベルのプロセスを作れないような状況でも、この設定を行うことによって root でシェルを起動するために必要な余裕が生まれます。

pidmax

説明

使用可能な最大プロセス ID の値を指定します。

pidmax では maxpid 変数の値を設定します。したがって、maxpid がいったん設定されると、pidmax は無視されます。maxpid は、カーネルの別のところで、最大のプロセス ID を判別したり、妥当性検証を行うために使用されます。

/etc/system ファイルに maxpid エントリを追加して設定しようとしても、効果はありません。

データ型

符号付き整数

デフォルト

3,000

範囲

5 から 999,999

単位

プロセス数

動的か

いいえ。pidmax の値を設定するためにブート時だけ使用されます。

検証

はい。reserved_procs の値と 999,999 に対して値を比較します。reserved_procs より小さい場合、または 999,999 より大きい場合、値は 999,999 に設定されます。

暗黙的制約

max_nprocs に対して範囲の検査が行われ、max_nprocs は常にこの値以下に保たれます。

どのような場合に変更するか

システム上で 30,000 を超える数のプロセスをサポートできるようにするために必要です。max_nprocsも参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、pidmaxを参照してください。

max_nprocs

説明

システム上に作成できるプロセスの最大数を指定します。システムプロセスとユーザープロセスを含みます。/etc/system に指定した任意の値が maxuprc の計算に使用されます。

この値は、他のいくつかのシステムデータ構造体のサイズを決定する場合にも使用されます。このパラメータが作用する他のデータ構造体は、次のとおりです。

  • ディレクトリ名検索キャッシュのサイズを決めるとき (ncsize が指定されていない場合)

  • 構成されたシステム V セマフォーによって使用されるメモリーの総量がシステム限度を超えていないか確認するとき

  • x86 プラットフォーム向けのハードウェアアドレス変換のリソースを構成するとき

データ型

符号付き整数

デフォルト

maxusers/etc/system ファイル内で設定されている場合は、10 + (16 x maxusers)

maxusers/etc/system ファイル内で設定されていない場合は、30,000 と 10 + (128 x CPU の数) のどちらか大きい方

範囲

26 から maxpid の値

動的か

いいえ

検証

はい。値が maxpid を超える場合、maxpid に設定されます。

どのような場合に変更するか

このパラメータの変更は、1 つのシステムで 30,000 を越えるプロセスを可能にするために必要となる手順の 1 つです。

コミットレベル

変更の可能性あり

変更履歴

詳細は、max_nprocsを参照してください。

maxuprc

説明

個々のユーザーがシステム上に作成できるプロセスの最大数を指定します。

データ型

符号付き整数

デフォルト

max_nprocs - reserved_procs

範囲

1 から max_nprocs - reserved_procs

単位

プロセス数

動的か

いいえ

検証

はい。この値は max_nprocs - reserved_procs と比較され、2 つの値のうちの小さい方に設定されます。

どのような場合に変更するか

1 ユーザーが作成できるプロセスの数を強く制限するために、デフォルト値より小さい値を指定したい場合 (システムが作成できるプロセスの数が多くても)。この限度を超えると、次の警告メッセージがコンソールかメッセージファイルに出力されます。

out of per-user processes for uid N
コミットレベル

変更の可能性あり

ngroups_max

説明

プロセスごとの追加グループの最大数を指定します。

データ型

符号付き整数

デフォルト

16

範囲

0 から 1024

単位

グループ

動的か

いいえ

検証

はい。ngroups_max が無効な値に設定された場合、もっとも近い有効値に自動的にリセットされます。たとえば、ゼロより小さい値に設定された場合は、0 にリセットされます。1024 より大きい値に設定された場合は、1024 にリセットされます。

どのような場合に変更するか

NFS AUTH_SYS 認証を使用していて、デフォルトの ngroups_max 値を増やす場合、次の考慮事項を検討してください。

  1. ngroups_max が 16 に設定されるか、指定されたクライアントの AUTH_SYS 資格のグループが 15 以下の場合は、クライアントのグループ情報が使用されます。

  2. ngroups_max が 16 より大きく設定され、かつネームサーバーからのクライアントの AUTH_SYS 資格に、許容される最大数である 16 グループが含まれている場合、NFS サーバーはネームサーバーを調べてクライアントの UID をユーザー名と照合します。その後、ネームサーバーはユーザーが属するグループのリストを計算します。

コミットレベル

変更の可能性あり

変更履歴

詳細は、ngroups_maxを参照してください。