FSS(Fair Share Scheduling)を有効にするには
Solaris10でFSS(Fair Share Scheduling)を有効にする方法を紹介する。
【検証環境】
#
more /etc/release
Solaris 10 3/05 s10_74L2a SPARC
Copyright
2005 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 22 January 2005
【システムのデフォルトスケジューラーの変更】
もっとも簡単な方法はシステムのデフォルトスケジューラーをFSSにしてしまうことだ。
通常デフォルトではTS(タイムシェアリング)が利用されている。ps -efc
コマンドを実行するとCLSフィールドがTSになっているプロセスがあるはずだ。
#
dispadmin -d FSS
上記コマンドを実行すると以下のファイルが作成され、システムを再起動すると有効になる。
#
more /etc/dispadmin.conf
#
# /etc/dispadmin.conf
#
# Do NOT edit this file by hand -- use dispadmin(1m) instead.
#
DEFAULT_SCHEDULER=FSS
再起動後にもう一度 ps -efc コマンドでプロセスを確認すると(SYSクラスを除く)多くのプロセスがFSSになっているはず。
これでOK。
あとは、各ゾーンに
zone.cpu-shares
を設定すればゾーン間のCPUのリソースマネージメントができる。
【プールのスケジューリングクラスの変更】
もう一つの方法としてプールのスケジューリングクラスをFSSにすることも可能だ。
もっともプールのスケジューリングクラスのデフォルトはシステムのスケジューリングクラスなので上記の設定をすれば特にプールのスケジューリングクラスの
変更の必要はない。
プールごとにスケジューリングクラスを変えたい場合のみ知っておけばよいだろう。
以下のコマンドで設定する。
# poolcfg -dc 'modify pool zone1-pool ( string pool.scheduler="FSS")'
→
プロ
セッサセットやプールの作成はこちら
→
pooldの
管理・構成はこちら
Solaris系技術トレーニング一覧