dispadmin コマンドの紹介

今回は、プロセスが使用するスケジューラを変更するコマンド 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
投稿されたコメント:

コメント
コメントは無効になっています。
About

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日