CPU処理の優先度を変更
CPUの処理の優先度をユーザー毎の環境に最適化する事で、パフォーマンスを向上出来る可能性があります。
通常、汎用的なパソコン環境を想定してCPU処理を割り当てているので、”アクティブウインドウ”を優先して処理するように設定されています。
しかし、バックグラウンドのサービスを多用している方(ウイルススキャンや、ファイルコピーなど)はCPU処理の割り当てを変更した方が良い場合があります。
また、タスクマネージャから個別にプログラムの優先度を変更することも可能。
特定のプログラムを最優先で処理したい時に有効な方法です。
CPU処理のパフォーマンスを調整する
Windows XP/Vista/7
- 「スタート」→「マイコンピュータ(またはコンピュータ)」を右クリック→「プロパティ」をクリック
WindowsXPは「システムのプロパティ」ウインドウが表示されるので、「詳細設定」タブを開きます。WindowsVista/7は「システム」ウインドウの左側にある「システムの詳細設定」をクリックすると、「システムのプロパティ」ウインドウが表示されるので、「詳細設定」タブを開きます。
- パフォーマンスの「設定」をクリック
プロセッサスケジュールに「プログラム」と「バックグラウンドサービス」の項目があります。
「プログラム」は、アクティブウインドウのプログラムを優先するモードで、3:1の割合でアクティブプログラムを優先します。
「バックグラウンドサービス」はバックグラウンドのサービスを優先するモードで、1:1の割合でプログラムを実行するので、正確にはプログラムの優先を無くす設定となります。
以上で設定は終了です
より高度なテクニック・・・
CPU処理のパフォーマンス調整は、上記のように3:1又は1:1のいずれかの割合で、優先度の変更が可能です。
より細かく優先度の変更をしたい場合は、レジストリからカスタマイズすることが可能です。
以下、レジストリ設定を変更する内容が含まれているので、適切なバックアップを作成してから自己責任で作業するようお願いします。
レジストリのバックアップ方法と復元方法
- ファイル名を指定して実行を開き([Win]ボタン+[R]ボタンを同時に押す)、「regedit」と入力し、レジストリエディタを起動しましょう。
- レジストリエディタから、以下をたどり、[Win32PrioritySeparation]をダブルクリックし、「値のデータ」を任意に変更します。
- HKEY_LOCAL_MACHINE
- SYSTEM
- CurrentControlSet
- Control
- PriorityControl
- Win32PrioritySeparation
- PriorityControl
- Control
- CurrentControlSet
- SYSTEM
- HKEY_LOCAL_MACHINE
- Win32PrioritySeparation 設定値
Win32PrioritySeparationをダブルクリックしたら 「表記」を〔10進数(D)〕にします。
※16進数でも良いのですが、分かりやすいように変更しただけです。
「値のデータ(V)」に任意の設定値を入力し、「OK」ボタンを押します。
設定値は下記の「入力データの意味」を参考にしてください。
- この変更内容は、再起動なしに直ぐに有効になるので自分で色々な組み合わせを試してみるのが良いと思います。
以上で設定は終了です。
入力データの意味
入力する設定値は以下の表を参考に、2進数の羅列を決め、10進数に直して記入します。
スレッド切り替え間隔 (5~6bit目) |
スレッド切り替え時間 (3~4bit目) |
プログラムとバックグラウンドのCPU比率 (1~2bit目) |
00(標準) | 00(標準) | 00(1:1) |
01(長い) | 01(可変) | 01(2:1) |
10(短い) | 10(固定) | 10(3:1) |
表の数字は2進数表記になっています。
スレッド切り替え間隔は後述するスレッド占有時間とも関連し、おおよそ20ms~120msの間で変更されます。
現在のマルチコアプロセッサの場合、スレッド間隔が短い方が効率的に処理を行えるようです。
スレッド切り替え時間はプログラムの利用状況に応じて変化させるか、変化させないかの設定になります。
00(標準)は10(固定)と同じ意味になります。
プログラムとバックグラウンドのCPU比率はそのままの意味です。
例えば、スレッド切り替え間隔を(長い)、スレッド切り替え時間(固定)、プログラムとバックグラウンドのCPU比率(2:1)にした場合、
「011001」が2進数での設定値になります。
これを10進数に変換します。変換はWindow標準の電卓を使えば簡単にできます。
↓2進数表示にして、「011001」と入力し、10進数表示にすれば簡単に進数変換されます。
10進数変換された25を先ほどの値データに入力しましょう。
個別にプログラムの優先度を変更する
Windows XP/Vista/7
タスクマネージャから、個別のプログラムに対し、処理の優先度を変更させることができます。
特定の作業ソフトをストレスなく利用したい場合、最優先に設定することでCPUの処理をそのソフトウェアに優先させることができます。
まず、キーボードで〔Ctrl〕+〔Shift〕+〔Esc〕を押してタスクマネージャを起動させます。
アプリケーションタブでタスクの中から処理の優先度を変更したいプログラム選び、右クリックします。
(バックグラウンドで動いているプロセスの優先度を変更する場合はプロセスタブを開き、以下の操作を飛ばしてください。)
下の様にメニューが開くのでプロセスの表示をクリックします。
「アプリケーション」タブで選択したプロセスが下の様に選択された状態になります。
プロセスタブから直接選択しても同じですが、この方法は素早く目的のプロセスを見つけられます。
プロセスを右クリックしてメニューを表示させます。
メニューから「優先度の設定(P)」を選択し、優先度を変更しましょう。
以上で設定は終了です。タスクマネージャを閉じてください。
一口メモ・・・
Windowsでは、プロセスやバックグラウンドサービスに対するCPUの優先度はあらかじめ最適化されています。
例えば、デフラグなどのバックグラウンドで作動するサービスは、CPUの優先度が低く設定されていますし、アクティブなデスクトップ上のプログラムは優先して処理するようになっています。
ですから、通常の使用環境では、プログラムの優先度を個別に変更しなくても、十分なパフォーマンスが期待できます。
個別に設定する時は、特定のバックグラウンドサービスの優先度をあげたい場合や、デスクトップ上で動作している特定のプログラムの優先度を下げたい場合等、例外処理的な使い方をする場合に利用するとよいでしょう。
コメントフィード
トラックバック URL : http://jisaku-pc.net/speed/set_08.html/trackback