Windowsのパフォーマンスオプション

Windowsにはクライアント版(Windows Vista, XP, 2000 Professional ...)とサーバ版(Server 2003, 2000 Server, ...)がありますが、見た目はどちらもほとんど同じです。が、それぞれの使用目的は異なるので、初期設定値が異なる項目が色々とあります。

  • パフォーマンス・オプション

Windowsにはパフォーマンス・オプションという設定項目があります。設定項目がある場所はOSによって多少異なりますが、WindowsXPで確認されたい方は、デスクトップにある[マイコンピュータ]を右クリックし、[プロパティ]を選択して、[詳細設定]タブを選択、[パフォーマンス]欄にある[設定]ボタンをクリックするとパフォーマンス・オプション画面が開きます。
設定項目は、以下の2つから選択することができます。

  1. プログラム(※OSによっては[アプリケーション])
  2. バックグラウンドサービス

この値は、サーバOSではバックグラウンドサービス、クライアントOSではプログラム/アプリケーションがデフォルト設定となっています。

ここを設定すると、CPUでスレッドを実行するタイムスライスの長さ(=クォンタム)の設定が変更されます。1クォンタムの長さはCPUの種類によって異なり、単一CPU/シングルコアCPUの場合は10ミリ秒、マルチプロセッサ/マルチCPUの場合は15ミリ秒となります。

  • バックグラウンドサービス

[バックグラウンドサービス]を選択した場合、クォンタムは36クォンタムに固定されます。よって、スレッドは強制的に36クォンタム単位で切り替え(=コンテキストの切り替え)が発生し、別スレッドの実行に切り替えられます。これは、サーバ向けのプログラムによりバックグラウンドで実行されるスレッド数は数が少なく、より長いCPU時間を割り当てられたほうが効率的であることを前提とした設定値です。

  • プログラム

[プログラム/アプリケーション]を選択した場合、クォンタムは可変長になります。バックグラウンドサービスに対しては3クォンタム、フォアグラウンドプロセスには9クォンタムが割り当てられます。これは多くのアプリケーションを同時に実行し、かつキーボードやマウスなどのリアルタイムに近いレスポンスを求められるスレッドもあるような状況で使用されることを前提とした設定値です。

サーバ/クライアントともにいずれも初期状態で最適な設定になっていますのであまり気にする必要はありませんが、SOHOとかでWindowsXPをサーバのように使用されているような場合は、このあたりの設定を変更するとより快適に使用できるようになるかもしれません。

ま、詳しくは以下のKBをご参照ください。
http://support.microsoft.com/kb/259025/ja