ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris カーネルのチューンアップ・リファレンスマニュアル Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris システムのチューニングの概要
2. Oracle Solaris カーネルチューニング可能パラメータ
4. インターネットプロトコル群のチューニング可能パラメータ
Oracle Solaris カーネルメモリーアロケータは、カーネル内の各クライアントに使用するメモリーのチャンクを配分します。アロケータは、そのクライアントが使用するさまざまなサイズのキャッシュを作成します。一方、クライアントは、特定サイズの構造体の割り当てのためなど、クライアントが使用するキャッシュの作成をアロケータに要求できます。アロケータが管理する各キャッシュに関する統計は、kstat -c kmem_cache コマンドで表示できます。
メモリーが壊されたために、システムがパニックになることがまれにあります。カーネルメモリーアロケータは、バッファーの各種整合性検査を実行するデバッギングインタフェース (一連のフラグ) をサポートします。カーネルメモリーアロケータは、アロケータに関する情報も収集します。整合性検査によって、発生まぎわのエラーを検出する機会が得られます。収集された情報は、サポート担当者にとって、パニックの原因追及を試みるための追加情報となります。
フラグを使用すると、システム操作で余分なオーバーヘッドと余分なメモリーの使用が発生します。したがって、フラグの使用は、メモリーの損傷が疑われるときだけに限るべきです。
Oracle Solaris カーネルメモリーアロケータには、さまざまなデバッグオプションおよびテストオプションがあります。
次に、サポートされる 5 つのフラグの設定について説明します。
|
符号付き整数
0 (無効)
0 (無効)、1 - 15、256 (0x100)
はい。実行時の変更は、新しいカーネルメモリーキャッシュだけに有効です。システムの初期設定後に新しいキャッシュを作成することはまれです。
なし
メモリーの損傷が疑われる場合
変更の可能性あり
カーネルスレッドの作成時に、/etc/system ファイルの kmem_stackinfo 変数が有効になっている場合、カーネルスレッドスタックが、0 ではなく、特定のパターンで埋められます。カーネルスレッドの実行時に、このカーネルスレッドスタックのパターンが徐々に上書きされます。パターンが見つからなくなるまで、スタックの最上部から単純にカウントすることで、カーネルスレッドで使用される最大のカーネルスタック空間である高位境界値が得られます。このメカニズムにより、次の機能が可能になります。
システムの現在のカーネルスレッドで実際に使用されたカーネルスレッドスタックの割合 (高位境界値) を計算します。
カーネルスレッドが終了すると、システムは、ほとんどのカーネルスレッドスタックを使用した最後のカーネルスレッドを、終了前に、小さい循環メモリーバッファーに記録します。
符号なし整数
0 (無効)
0 (無効)、1 (有効)
はい
なし
カーネルスレッドスタックの使用状況を監視する場合。kmem_stackinfo を有効にしていると、カーネルスレッドの作成と削除のパフォーマンスが低下することに注意してください。詳細は、『Oracle Solaris Modular Debugger Guide』の第 5 章「Built-In Commands」を参照してください。
このパラメータは、大域ゾーン内に設定する必要があります。
変更の可能性あり