Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

資源管理の設定 (作業マップ)

次の作業マップに、システム上で資源管理機能を設定する際に必要となる作業の概要を示します。

タスク 

説明 

説明 

システム上の作業負荷を特定し、各作業負荷をプロジェクト別に分類します。 

/etc/project ファイル、NIS マップ、または LDAP ディレクトリサービス内にプロジェクトエントリを作成します。

project データベース」

システム上の作業負荷に優先順位を付けます。 

どのアプリケーションが重要かを判定します。重要な作業負荷には資源への優先的なアクセスが必要になる場合があります。 

サービスの目的を考慮してください。 

システム上で実際のアクティビティーを監視します。 

パフォーマンスツールを使用して、システムで実行されている作業負荷の現在の資源消費量を表示します。その上で、特定の資源へのアクセスを制限する必要があるかどうか、あるいは特定の作業負荷をほかの作業負荷から分離する必要があるかどうかを判定できます。 

「システム単位の監視」および cpustat(1M)iostat(1M)mpstat(1M)prstat(1M)sar(1)、および vmstat(1M) のマニュアルページ

システムで実行されている作業負荷を一時的に変更します。 

変更可能な設定値を決めるには、Solaris システムで使用できる資源制御を参照します。タスクまたはプロセスが実行している間は、コマンド行から値を更新できます。 

「使用可能な資源制御」「資源制御値に対応付けられた大域アクションと局所アクション」「動作中のシステム上の資源制御値を一時的に更新する」、および rctladm(1M)prctl(1) のマニュアルページ

project データベースまたはネームサービスプロジェクトデータベース内のプロジェクトエントリごとに資源制御とプロジェクト属性を設定します。

/etc/project ファイルまたはネームサービスプロジェクトデータベース内の各プロジェクトエントリには、資源制御または属性を 1 つ以上含めることができます。これらの資源制御は、そのプロジェクトに属するタスクとプロセスを制約します。資源制御で指定する各しきい値に対しては、その値に達したときに行われるアクションを 1 つ以上対応付けることができます。

資源制御は、コマンド行インタフェースを使って設定できます。一部の構成パラメータは、Solaris 管理コンソールでも設定できます。 

project データベース」「ローカルの /etc/project ファイルの形式」「使用可能な資源制御」「資源制御値に対応付けられた大域アクションと局所アクション」、および第 8 章公平配分スケジューラ (概要)

プロジェクト内のプロセスの集合が消費する物理メモリーの容量に上限を設けます。 

資源上限デーモンは、/etc/project ファイルでプロジェクトの rcap.max-rss 属性に指定されたとおり、物理メモリーの資源上限を制限します。

project データベース」および第 10 章資源上限デーモンによる物理メモリーの制御 (概要)

資源プール構成を作成します。 

資源プールは、プロセッサなどのシステム資源を区分する手段を提供し、再起動時にもそのパーティションを保持します。/etc/project ファイルの各エントリに project.pool 属性を 1 つ追加できます。

project データベース」および第 12 章資源プール (概要)

公平配分スケジューラ (FSS) をデフォルトのシステムスケジューラとして設定します。 

単一の CPU システムまたはプロセッサセット内のすべてのユーザープロセスが同じスケジューリングクラスに属するようにします。 

「FSS の構成」および dispadmin(1M) のマニュアルページ

拡張アカウンティング機能を起動し、タスクまたはプロセスに基づき資源消費を監視して記録します。 

拡張アカウンティングデータを使って現在の資源制御を評価し、将来の作業負荷のための容量要件を計画します。システム全体の総使用状況を追跡できます。複数のシステムに渡って相互に関連しあう作業負荷について完全な使用統計を取得するために、プロジェクト名は複数のマシンで共有できます。 

「プロセス、タスク、およびフローの拡張アカウンティングを起動する方法」および acctadm(1M) のマニュアルページ

(省略可能) 構成をさらに調整する必要がある場合は、引き続きコマンド行から値を変更できます。値は、タスクまたはプロセスの実行中でも変更できます。 

既存のタスクに対しては、プロジェクトを再起動しなくても、変更を一時的に適用できます。満足のいく性能が得られるまで値を調整します。次に、/etc/project ファイルまたはネームサービスのプロジェクトデータベースで現在の値を更新します。

「動作中のシステム上の資源制御値を一時的に更新する」および rctladm(1M)prctl(1) のマニュアルページ

(省略可能) 拡張アカウンティングデータを取得します。 

アクティブなプロセスおよびタスクの拡張アカウンティングレコードを書き込みます。作成されるファイルは、計画、チャージバック、および課金のために使用できます。libexacct への Perl (Practical Extraction and Report Language) インタフェースを使用して、報告および抽出用のカスタムスクリプトを作成することもできます。

wracct(1M) のマニュアルページおよび libexacct に対する Perl インタフェース」