Solaris Resource Manager には、システムの処理時間、仮想メモリー、プロセス数、ログイン回数、接続時間など、さまざまな重要資源の使用を管理する機能があります。Solaris Resource Manager 管理モデルでは、階層内での管理権限の委任が許されるため柔軟性が増し、データセンターのスタッフがグループ内の管理トランザクションに関与する必要がなくなります。さらに、Solaris Resource Manager には、資源の使用状況のデータを収集する機能があり、容量計画や課金のために使用されています。
オペレーティングシステムの基本的な仕事の 1 つは、各プロセスでのシステム資源の使用量を調整することです。デフォルトの Solaris タイムシェア (TS) スケジューラでは、各プロセスでシステム資源をほぼ同等に使用することを許可します。使用が制限されるのは、物理的なメモリー資源がないプロセス (実行は許可されない) と保留中の入出力要求があるプロセス (ブロックされる) です。
最近のほとんどのオペレーティングシステムではこの方式が基本です。この方式は、「すべてが同等な使用権利を持つ」ことが組織のポリシーである限りうまく機能します。しかし、異なるポリシーの下では、もっと精巧な機構が必要です。たとえば、製造部門は大きなシステムを持っていますが、季節によって需要が変わるため、その負荷は軽くなります。一方、技術部門はほとんど常にもっと大きな計算能力を必要としています。大きなマシンの資源を有効に使用しないのは不経済なことですが、製造システムを技術部門と共有することは今まで課題でした。単純なスケジューリングポリシーでは、同じシステムにおいて製造部門のユーザーの方が技術部門のユーザーよりも重要であることをオペレーティングシステムに知らせることができません。製造部門の重要なジョブがシステム資源の 75 パーセントを使用する場合には、他のすべてのジョブがシステムの 25 パーセント以下しか要求しなければ、ジョブの適切な進捗が保たれます。しかし、システムの 50 パーセントを必要とする技術部門のジョブが入ってくると、この製造部門のジョブは、十分な進捗を保つために必要な資源を得られないでしょう。この問題は、システムがこれらのジョブを同等に扱おうとするため起こります。
ここで、管理者が、製造の通常の処理要件がマシンの能力の 80 パーセントを使用すれば満足されると判断したとします。Solaris Resource Manager を使用すれば、システム管理者は、製造部門のユーザーが要求する場合には、システムの処理能力の 85 パーセントをこのユーザーに割り当て、残りをスケジューラが任意のユーザーに割り当てるように指定できます。さらに極端な場合には、製造部門のユーザーに必要ならシステムの 100 パーセントを割り当てるように指定できます。この場合には、製造部門で実際にシステム全体を使用すると、他のグループのプロセスは事実上実行できなくなります。
Solaris Resource Manager には、標準のタイムシェアスケジューラを置き換える CPU スケジューリングクラスがあります。SHR スケジューラと呼ぶこのモジュールでは、フェアシェアスケジューラ (fair share scheduler) が実装されます。この用語は正しい意味を表わしていません。「フェア」の意味を具体的に決定するのはシステム管理者です。上の例では、「フェア」は、製造がシステムの 100 パーセントを使用できることでした。SHR スケジューラでは、管理プロファイルに指定された計画に従って資源を割り当てます。
Solaris Resource Manager には、資源の使用量とそれに対応する制限値を表すデータベースがあります。
SHR スケジューラは、資源の使用に関する管理者の指定を考慮に入れます。このスケジューラは、CPU などの再生可能資源やプロセス数などの固定資源を管理できます。
さらに、Solaris Resource Manager の他のモジュールが、いろいろな資源の使用を制限します。たとえば、接続時間とユーザーのログインは、Pluggable Authentication Module (PAM) が管理します。PAM は、ユーザーがログインするたびに Solaris Resource Manager データベースを参照します。システムが通常パスワードの照合によってユーザーを確認すると、ユーザーの接続時間と現在のログイン回数が上限値を超えていないか検査されます。どちらかの限度を超えると、ログインは拒否されます。