このページの本文へ

基礎から覚える 最新OSのアーキテクチャー 第11回

マルチコアCPUの消費電力はスケジューリングで変わる?

2012年02月16日 14時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

実はユーザーが変更できる
スケジューリングのパラメーター

 スケジューリングのパラメーターは、前述のShortとLongというQuantumの割り当て単位と、Quantum Boostの有無などがある。この設定は以下のレジストリの値で決まる。逆に言えば、この値を書き換えるとスケジューリングの間隔を変えられるわけだ(レジストリを変更するので、間違えばOSが正常に動作しなくなる可能性もある)。

  • HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control
    ¥PriorityControl¥Win32PrioritySeparation

 この値にはDWORD値を設定する。値は以下のようなビットフィールドで構成されている。それぞれ2bitなので、値の範囲は0~3となる。

  • bit 0~1  Long/Short
  • bit 2~3  Variable/Fixed
  • bit 4~5  QuantumBoost

 「Long/Short」は、Quantumの基本割り当て値がLong(設定値は1)、Short(設定値は2)なのかを表し、「0」または「3」はシステムのデフォルト値と解釈される。「Variable/Fixed」は、Quantum Boostを使うかどうかを決める。「1」ならば使うで「2」ならば使わないことを意味し、「0」と「3」はデフォルト値となる。

 「QuantumBoost」は、フォアグラウンドプロセスに割り当てるQuantum値の“倍率”を意味する。「0」ならば1倍で「1」なら2倍、「2」なら3倍である(「3」は2と同じ)。なお「Variable/Fixed」がFixedの場合には、ここに何を指定しても「Long/Short」の設定のままとなる。

 このレジストリの設定と同じ効果があるのが、コントロールパネルのシステム設定にある「システムの詳細設定」だ。「詳細設定」タブから「パフォーマンス」の設定ボタンを押して、「詳細設定」にある「プロセッサーのスケジュール」がそれに当たる。

スケジューリングのパラメータを変更するコントロールパネルの設定

 ここには「プログラム」と「バックグラウンドサービス」の2つの設定があるが、前者は「Short-Variable-3倍」(クライアント版Windowsのデフォルト値)を設定するもので、後者は「Long-Fixed」(サーバー版のデフォルト値)を意味する。

 通常はこの項目を変更する必要などまずないが、例えばクライアント版のWindowsをファイルサーバーやプリンタサーバーとして使うという場合は、「バックグラウンドサービス」側に設定してもいいかもしれない。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン