JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris チューニング可能パラメータリファレンスマニュアル     Oracle Solaris 10 1/13 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

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

moddebug

ddi_msix_alloc_limit

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

maxphys

rlim_fd_max

rlim_fd_cur

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

ncsize

rstchown

dnlc_dir_enable

dnlc_dir_min_size

dnlc_dir_max_size

UFS パラメータ

bufhwm および bufhwm_pct

ndquot

ufs_ninode

ufs_WRITES

ufs_LW および ufs_HW

freebehind

smallfile

ufs_delete_hiwat

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

pr_segp_disable

スケジューリング

rechoose_interval

タイマー

hires_tick

timer_max

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

consistent_coloring

tsb_alloc_hiwater_factor

default_tsb_size

enable_tsb_rss_sizing

tsb_rss_factor

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

lpg_alloc_prefer

lgrp_mem_pset_aware

Solaris ボリュームマネージャーのパラメータ

md_mirror:md_resync_bufsz

md:mirrored_root_flag

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

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

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

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

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

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

索引

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

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

maxusers

説明

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

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

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

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

データ型

符号付き整数

デフォルト

M バイト単位のメモリー容量または 2048 のどちらか小さい方

範囲

/etc/system ファイルに設定されていない場合は、物理メモリーに基づいて、1 から 2048。

/etc/system ファイルに設定されている場合は、1 から 4096。

単位

ユーザー

動的か

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

検証

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

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

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

out of processes

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

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

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

コミットレベル

変更の可能性あり

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 エントリを追加して設定しようとしても、効果はありません。

データ型

符号付き整数

デフォルト

30,000

範囲

5 から 999,999

単位

プロセス数

動的か

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

検証

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

暗黙的制約

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

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

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

コミットレベル

変更の可能性あり

max_nprocs

説明

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

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

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

  • UFS のディスク割り当て構造体を割り当てるとき (ndquot が指定されていない場合)

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

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

データ型

符号付き整数

デフォルト

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

範囲

26 から maxpid の値

動的か

いいえ

検証

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

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

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

コミットレベル

変更の可能性あり

変更履歴

詳細は、max_nprocs (Solaris 10 リリース)」を参照してください。

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 にリセットされます。

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

グループの最大数を増やす場合。

ある特定のユーザーに 16 より多いグループが割り当てられている場合は、NFS 環境で AUTH_SYS 資格に関する問題が発生する可能性があることに留意してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、ngroups_max (Solaris 10 リリース)」を参照してください。