X

Oracle Solaris, Oarcle ハードウェア製品に関する情報

  • Sun
    April 20, 2010

dispadmin コマンドの紹介

Guest Author


今回は、プロセスが使用するスケジューラを変更するコマンド dispadmin を
紹介します。

このコマンドはあまり馴染みがないかも知れませんが、Solaris コンテナで Zone
のリソース制御を行う時に重要なコマンドとなります。



Solaris コンテナ上の CPU リソース制御は、FSS(Fair Share Scheduler)を使用
しますが、Solaris 10 初期インストールの状態では、スケジューラが FSS を
デフォルトで使用する設定になっておりません。



その為、zonecfg コマンドで cpu-shares プロパティを設定した Zone を起動すると
下記ワーニングメッセージが出力されます。

(今回は、Solaris 10 10/09 で検証しております。)


# zoneadm -z zone01 boot
zoneadm: zone 'zone01': 警告: zone.cpu-shares 資源制御が設定されていますが、
zoneadm: zone 'zone01': FSS はこのゾーンのデフォルトのスケジューリングクラス
zoneadm: zone 'zone01': ではありません。FSS はゾーン内のプロセスに使用されますが、
zoneadm: zone 'zone01': FSS の利点を十分に得るために、FSS を
zoneadm: zone 'zone01': デフォルトのスケジューリングクラスにするようにしてください。
zoneadm: zone 'zone01': 詳細は、dispadmin(1M) を参照してください。



CPU リソース制御プロパティは、FSS の管理下で制御を行いますので、デフォルト
のスケジューリングクラスに FSS が設定されていないとワーニングが出てしまいます。



ワーニングメッセージを出さないよう FSS をデフォルトのスケジューリ
ングクラスに設定するには、下記設定を行います。



まずは、現在のデフォルトスケジューラを確認してみましょう。
# dispadmin -d
dispadmin: Default scheduling class is not set



Solaris 10 の初期インストール状態では、デフォルトスケジューラは何も設定
されていない事が確認できます。



それでは、デフォルトスケジューラを FSS に設定してみましょう。
# dispadmin -d FSS

これで設定が完了しました。

最後にデフォルトスケジューラに FSS が設定できたか確認してみましょう。
# dispadmin -d
FSS (Fair Share)
----




FSS の設定が完了しましたので、もう一度 Zone を起動してみます。
# zoneadm -z zone01 boot



zone01 起動時にワーニング出力が消えました。





ちなみに、dispadmin でデフォルトのスケジューラを設定すると、
下記内容のファイルが /etc/dispadmin.conf に作成されます。
# cat dispadmin.conf
#
# /etc/dispadmin.conf
#
# Do NOT edit this file by hand -- use dispadmin(1m) instead.
#
DEFAULT_SCHEDULER=FSS




Zone のリソース制御が思うように動作しない場合、一度 dispadmin
の設定を確認する事をお勧めします。





(参考情報)

過去の 「やっぱり Sun がスキ!」blog 記事一覧はこちらを参照下さい。

http://wikis.sun.com/display/yappri/Home

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.