Solaris のシステム管理 (上級編)

システムパフォーマンスの管理に関する新機能

ここでは、システムパフォーマンスの管理に使用する新機能について説明します。

DNLC 機能の向上

ディレクトリ名検索キャッシュ (DNLC) が拡張され、1000 以上のファイルを含む大容量のディレクトリにあるファイルにアクセスする際のパフォーマンスが向上しました。

DNLC は一般的なファイルシステムサービスであり、最近参照されたディレクトリ名とそれに関連する v ノードをキャッシュします。UFS ディレクトリのエントリは、ディスク上に直線的に保存されています。よって、エントリを格納するには、その名前で各エントリを検索する必要があります。新しいエントリを追加する際は、ディレクトリ全体を検索して、その名前が存在していないことを確認する必要があります。このパフォーマンスに関する問題を解決するために、DNLC を使ってディレクトリ全体をメモリーにキャッシュします。

このリリースにおける DNLC のもう 1 つの新機能は、検索したが存在しなかったファイルオブジェクトをキャッシュすることです。これは「ネガティブキャッシュ」と呼びます。ファイルが存在するかどうかを繰り返し調べるアプリケーションに便利です。

詳細は、『Solaris カーネルのチューンアップ・リファレンスマニュアル』を参照してください。

pargs コマンドと preap コマンド

新しい 2 つのコマンド pargspreap により、プロセスのデバッグが改善されています。pargs コマンドを使用すると、動作中のプロセスまたはコアファイルに関連付けられた引数と環境変数を表示できます。preap コマンドを使用すると、終了した (ゾンビ) プロセスを削除できます。

また、pargs コマンドを使用することによって、プロセスに渡された引数を ps コマンドで一部しか表示できないという問題がようやく解決されました。次のように、pargs コマンドを pgrep コマンドと併用して、プロセスに渡された引数を表示できます。


# pargs `pgrep ttymon`
579:	/usr/lib/saf/ttymon -g -h -p system-name console login:  
-T sun -d /dev/console -l 
argv[0]: /usr/lib/saf/ttymon
argv[1]: -g
argv[2]: -h
argv[3]: -p
argv[4]: system-name console login: 
argv[5]: -T
argv[6]: sun
argv[7]: -d
argv[8]: /dev/console
argv[9]: -l
argv[10]: console
argv[11]: -m
argv[12]: ldterm,ttcompat
548:	/usr/lib/saf/ttymon
argv[0]: /usr/lib/saf/ttymon

pargs -e コマンドを使用して、プロセスに関連付けられた環境変数を次の例のように表示できます。


$ pargs -e 6763
6763: tcsh
envp[0]: DISPLAY=:0.0

pargs コマンドと preap コマンドを使用して、ユーザーの検査権限に含まれるすべてのプロセスを検査できます。スーパーユーザーは、すべてのプロセスを検査できます。

preap コマンドを使用して、終了したプロセスを削除できます。終了したプロセスは、ゾンビプロセスとも呼ばれます。ゾンビプロセスとは、その終了状態がまだ親によって取得または要求されていないプロセスをいいます。これらのプロセスは一般的に支障はありませんが、プロセスの数が多い場合には、システム資源を消費することになります。

preap コマンドの使用方法については、preap(1) のマニュアルページを参照してください。pargs コマンドの使用方法については、proc(1) のマニュアルページを参照してください。

パフォーマンスツール

Solaris 管理コンソールのパフォーマンスツールを使って、システムパフォーマンスおよびシステム資源の使用を監視できます。

Solaris 資源管理によるシステム資源の割り当て、監視、および制御については、『Solaris のシステム管理 (資源管理とネットワークサービス)』の「Solaris 9 リソースマネージャの紹介」を参照してください。

Solaris 管理コンソールの使用と起動の方法については、『Solaris のシステム管理 (基本編)』の「Solaris Management Console の操作 (手順)」を参照してください。

新しい FSS スケジューラと FX スケジューラ

FSS スケジューラ (フェアシェアスケジューラ) および FX スケジューラ (固定優先順位スケジューラ) は、新しいユーザープロセスのスケジューラです。両方のスケジューラでは、タイムシェアリング (TS) スケジューリングクラスおよび対話 (IA) スケジューリングクラスと同じ範囲の優先順位 (0 から 59) を使用します。

FX は、プロセスを確実な優先順位で実行する、固定優先順位スケジューラです。FX はデフォルトのスケジューラではありません。TS では負荷を分散します。FX では負荷を分散しません。同じシステムで FX と TS を使用できますが、FX の優先度を高く設定し過ぎると、TS で実行するプロセスが停止状態になります。

FSS を使用すると、CPU 資源の配分を明示的にプロジェクトに割り当てることによって、アプリケーションのパフォーマンスが保証されます。その他の FSS の利点は、次のとおりです。

プロセッサセットを使用するのでなければ、同じシステムで FSS を TS または FX と併用しないでください。プロセッサセットを使用する場合、同じ CPU で競合しないように、各プロセッサセットで実行するすべてのプロセスが同じスケジューリングクラスにある限りは、同じシステムで FSS を TS、IA、FX と併用できます。特に、プロセッサセットを使用して FX クラスのアプリケーションで FSS クラスのアプリケーションの停止状態を招く優先順位を使用しないようにするのでなければ、FX スケジューラは新しい FSS スケジューリングクラスと併用しないでください。

次の表に、上記のスケジューラや、プロジェクト、タスクなどの他の Solaris 資源管理に関する機能、システム資源をより良く管理するための情報を示します。

トピック 

参照箇所 

FSS スケジューラおよび FX スケジューラの使用方法 

Solaris のシステム管理 (資源管理とネットワークサービス)』の「フェアシェアスケジューラ」

FSS 

FSS(7) のマニュアルページ

FX 

priocntl(1)dispadmin(1M) のマニュアルページ

プロジェクト 

Solaris のシステム管理 (資源管理とネットワークサービス)』の「プロジェクトとタスク」