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.  このマニュアルの改訂履歴

索引

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

Oracle Solaris カーネルメモリーアロケータは、カーネル内の各クライアントに使用するメモリーのチャンクを配分します。アロケータは、そのクライアントが使用するさまざまなサイズのキャッシュを作成します。一方、クライアントは、特定サイズの構造体の割り当てのためなど、クライアントが使用するキャッシュの作成をアロケータに要求できます。アロケータが管理する各キャッシュに関する統計は、kstat -c kmem_cache コマンドで表示できます。

メモリーが壊されたために、システムがパニックになることがまれにあります。カーネルメモリーアロケータは、バッファーの各種整合性検査を実行するデバッギングインタフェース (一連のフラグ) をサポートします。カーネルメモリーアロケータは、アロケータに関する情報も収集します。整合性検査によって、発生まぎわのエラーを検出する機会が得られます。収集された情報は、サポート担当者にとって、パニックの原因追及を試みるための追加情報となります。

フラグを使用すると、システム操作で余分なオーバーヘッドと余分なメモリーの使用が発生します。したがって、フラグの使用は、メモリーの損傷が疑われるときだけに限るべきです。

kmem_flags

説明

Oracle Solaris カーネルメモリーアロケータには、さまざまなデバッグオプションおよびテストオプションがあります。

次に、サポートされる 5 つのフラグの設定について説明します。

フラグ
設定
説明
AUDIT
0x1
アロケータは、自身の活動の最近の履歴が入ったログを維持します。ログされる項目の数は、CONTENTS も設定されているかどうかによって異なります。このログは固定の大きさです。領域を使い果たすと、古い記録から再利用されます。
TEST
0x2
アロケータは解放されたメモリーにパターンを書き込み、そのバッファーを次に割り当てるときに、そのパターンが変更されていないことをチェックします。バッファーの一部が変更されている場合は、そのバッファーを前に割り当て、解放したクライアントがそのメモリーを使用した可能性が強いことを意味します。上書きが検知されると、システムがパニックになります。
REDZONE
0x4
アロケータは要求されたバッファーの終りに余分のメモリーを割り当て、そのメモリーに特殊なパターンを挿入します。そして、バッファーが解放されたら、パターンをチェックして、データがバッファーの終りより後ろに書き込まれていないか調べます。上書きが検知されると、カーネルがパニックになります。
CONTENTS
0x8
アロケータは、バッファーが解放されると、バッファーの内容を 256 バイトまでログします。このフラグを使用するには、AUDIT も設定する必要があります。

これらのフラグの数値は、論理的に合算し、/etc/system ファイルによって設定できます。

LITE
0x100
バッファーを割り当てたり解放したりするときに、最小限の整合性検査を行います。このフラグが有効になっていると、アロケータは、レッドゾーンが書き込まれていないことや、解放されたバッファーが再び解放されていないこと、解放されるバッファーのサイズが割り当てられたものと同じであることをチェックします。このフラグは他のフラグと併用しないでください。
データ型

符号付き整数

デフォルト

0 (無効)

範囲

0 (無効)、1 - 15、256 (0x100)

動的か

はい。実行時の変更は、新しいカーネルメモリーキャッシュだけに有効です。システムの初期設定後に新しいキャッシュを作成することはまれです。

検証

なし

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

メモリーの損傷が疑われる場合

コミットレベル

変更の可能性あり

kmem_stackinfo

説明

カーネルスレッドの作成時に、/etc/system ファイルの kmem_stackinfo 変数が有効になっている場合、カーネルスレッドスタックが、0 ではなく、特定のパターンで埋められます。カーネルスレッドの実行時に、このカーネルスレッドスタックのパターンが徐々に上書きされます。パターンが見つからなくなるまで、スタックの最上部から単純にカウントすることで、カーネルスレッドで使用される最大のカーネルスタック空間である高位境界値が得られます。このメカニズムにより、次の機能が可能になります。

  • システムの現在のカーネルスレッドで実際に使用されたカーネルスレッドスタックの割合 (高位境界値) を計算します。

  • カーネルスレッドが終了すると、システムは、ほとんどのカーネルスレッドスタックを使用した最後のカーネルスレッドを、終了前に、小さい循環メモリーバッファーに記録します。

データ型

符号なし整数

デフォルト

0 (無効)

範囲

0 (無効)、1 (有効)

動的か

はい

検証

なし

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

カーネルスレッドスタックの使用状況を監視する場合。kmem_stackinfo を有効にしていると、カーネルスレッドの作成と削除のパフォーマンスが低下することに注意してください。詳細は、『Oracle Solaris Modular Debugger Guide』の第 5 章「Built-In Commands」を参照してください。

ゾーン構成

このパラメータは、大域ゾーン内に設定する必要があります。

コミットレベル

変更の可能性あり