Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windowsでのプロセス優先度管理

Windowsプロセスの優先順位について話しましょう 。ほとんどの場合、カスタムプロセスの優先順位設定について考える必要はありませんが、資格のあるシステム管理者が、システムが実行中のタスク間でプロセッサ時間をより適切に割り当てるのを支援できる場合があります。いつ必要ですか?たとえば、アプリケーションサーバーでは、最もリソースが重要なプロセスとして、アプリケーションとSQLサーバーのCPU時間を増やすことができます。

通常、タスクマネージャ(someprocess.exe->優先度の設定)を使用してプロセスの優先度を表示および変更できます

Windows NT / 2000/7/2008

Windowsでのプロセス優先度管理

Windows Server 2012では、これらの設定は[詳細]タブにあります。

Windowsでのプロセス優先度管理

これらのスナップショットからわかるように、6つの優先度タイプのみです(後で説明するように、これらは優先度クラスです。 ) ご利用いただけます。それは十分か?マイクロソフトはそう思います。しかし、ビル・ゲイツが「640KBのRAMですべての人に十分だ」と言った叙事詩を思い出してください。しかし、時が経てば、それは事実とはほど遠いことを示しています。 :)

では、実際にどのように見えるか見てみましょう。

実際、Windowsには0から31までの32の優先度レベルがあります。

それらは次のようにグループ化されます:

  1. 31 — 16 リアルタイムレベルです
  2. 15 — 1 動的レベルです
  3. 0 ゼロページスレッド用に予約されているシステムレベルです

プロセスが作成されると、6つの優先度クラスのいずれかに割り当てられます。 :

  1. リアルタイムクラス(値24)、
  2. ハイクラス(値13)、
  3. 通常のクラス(値10)を超える
  4. 通常のクラス(値8)、
  5. 通常のクラス(値6)未満
  6. またはアイドルクラス(値4)。

上記のように、タスクマネージャを使用してプロセスの優先度を表示できます。

。通常より上および通常より下の優先順位は、Windows2000で最初に登場しました。

各スレッドの優先度(基本的なスレッドの優先度 )は、そのプロセスの優先度と相対優先度で構成されます スレッド自体の。スレッドの相対的な優先順位には、次の7つのタイプがあります。

  • 通常:プロセスと同じ
  • 通常より上:プロセスの優先度を+1します
  • 通常より下:プロセスの優先度から-1
  • 最高:+2;
  • 最低:-2;
  • タイムクリティカル:スレッドの現在の優先度を、リアルタイムクラスの場合は31、残りのクラスの場合は15に設定します
  • アイドル:スレッドの現在の優先度をリアルタイムクラスの場合は16、残りのクラスの場合は1に設定します

次の表は、プロセスの優先順位、スレッドの相対的および現在の優先順位を示しています。

アイドル アイドル アイドル アイドル アイドル 最低 以下… 通常 最低 上記… 以下… 最高 通常 最低 上記… 以下… 最高 通常 最低 上記… 以下… 最高 通常 上記… 最低 最高 以下… 通常 上記… 最高 タイムクリティカル タイムクリティカル タイムクリティカル タイムクリティカル タイムクリティカル アイドル 最低 以下… 通常 上記… 最高 タイムクリティカル
スレッドの優先度 プロセスクラス プロセスクラス
アイドルクラス 通常のクラスより下 通常のクラス 通常のクラスより上 ハイクラス リアルタイムクラス
1
2
3
4 アイドルクラス
5
6 通常のクラスより下
7
8 通常のクラス
9
10 通常のクラスより上
11
12
13 ハイクラス
14
15
15
16
17
18
19
20
21
22
23
24 リアルタイムクラス
25
26
27
28
29
30
31

非標準の優先度でプロセスを開始または変更するにはどうすればよいですか?

方法1.タスク/プロセスを開始し、タスクマネージャーを使用してその優先度を変更します

メソッドの欠点:

  • 6種類の優先順位のみが利用可能です
  • 優先順位はマウスによる変更であり、自動化することはできません。

方法2.対応するキーでSTARTコマンドを使用できます

優先順位の原因となる使用可能なキーは次のとおりです( STARTのキーは意図的に省略しています 記述されている優先順位を設定するプロセスとは関係のないコマンド):

C:\>start /?
別のウィンドウを開始して、指定したプログラムまたはコマンドを実行します。
START [“ title”] [/ D path] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | / SHARED]
[/ LOW | / NORMAL | / HIGH | / REALTIME | / ABOVENORMAL | / BELOWNORMAL]
[/NODE][/AFFINITY<16進アフィニティマスク>][/WAIT] [/ B]
[コマンド/プログラム][パラメーター]
IDLE優先度クラスでアプリケーションを開始します。
NORMAL NORMAL優先度クラスでアプリケーションを開始します。
HIGH 優先度の高いクラスでアプリケーションを起動します。
REALTIME REALTIME優先度クラスでアプリケーションを開始します。
ABOVENORMAL ABOVENORMAL優先度クラスでアプリケーションを開始します。
BELOWNORMAL BELOWNORMAL優先度クラスでアプリケーションを開始します。

ご覧のとおり、STARTコマンドを使用すると、タスクマネージャーで使用できるのと同じ6つの優先度でプロセスを実行できます

メソッドの欠点:

  • 6種類の優先順位のみが利用可能です

方法3.wmic.exeユーティリティを使用する

上に示したように、タスクマネージャーとSTARTコマンドは、優先順位の割り当てが非常に面倒です。より柔軟に行う方法を見てみましょう。 wmic.exeを使用します 。

コマンドプロンプト:

wmic process where name="AppName" CALL setpriority ProcessIDLevel

例:

wmic process where name="calc.exe" CALL setpriority 32768

または

wmic process where name="calc.exe" CALL setpriority "above normal"

優先順位(プリセット):

  • アイドル:64
  • 通常より低い:16384
  • 通常:32
  • 通常より上:32768
  • 優先度が高い:128
  • リアルタイム:256
。同じ名前のプロセスが複数ある場合はどうすればよいですか?プロセスの優先度は、その名前またはPID(プロセスID)の両方を使用して変更できます。

必要な情報を取得するためにwmic.exeを実行する簡単な例を次に示します。

次のコマンドを使用します:

wmic process list brief

。プロセスのリストが長すぎるため、このコマンドを実行する例は示しません。必要に応じて自分で行ってください。

ローカルコンピュータで実行されているプロセスのリストが表示されます。次のコマンドを実行します:

wmic process list brief | find "cmd.exe"

結果は次のとおりです。

Windowsでのプロセス優先度管理

よりわかりやすくするために、意図的にcmd.exeのコピーをいくつか開始しました。

現在、プロセスのリストは、名前に「cmd.exe」が含まれているプロセスに限定されています。プロセスのPIDに注意してください。

次に、WMIを使用して必要なプロセスを選択してみましょう。これを行うには、次のように入力します:

wmic process where description='cmd.exe' list brief

結果は次のとおりです。

Windowsでのプロセス優先度管理

結果を比較します。 CMD.EXEのPIDを覚えておいてください。

wmic.exeを起動するためのコマンド文字列

wmic process where processid='XXXX' CALL setpriority ProcessIDLevel

これで、特定のプロセスの優先度を変更できます(PID =8476など):

wmic process where processid='8476' CALL setpriority 32768

または

wmic process where processid='8476' CALL setpriority "above normal"

次は何?エンドユーザーエクスペリエンスとともに、サービスとプロセスのパフォーマンスを向上させるために、優先順位を考え、試し、選択し、管理します。


  1. Windows 10 でアプリケーションの CPU 優先度を設定する方法

    Windows では、システム上で実行されているアプリは、その機能に従って優先順位が付けられます。 CPU は、優先度レベルに基づいてすべてのプロセスに特定の時間を割り当てます。すべてのプロセスに対して高または標準を含む、多数の CPU 優先順位が設定されています。優先度が高いほど、プロセスまたはアプリにより多くの時間が割り当てられます。 どのフォアグラウンド アプリまたはバックグラウンド アプリを重要と見なすかを決定し、それに応じて優先順位を付けます。 CPU に関しては、システム アプリが正しく実行される必要があるため、常に Windows アプリが主な関心事です。また、プロセスのデフォ

  2. Windows 10 または 11 でディスクの管理を開く 5 つの方法

    ディスクの管理は、ユーザーがコンピュータにインストールされているディスク ドライブとパーティションを調べて管理できるようにする Microsoft Windows プログラムです。ハード ドライブのパーティション分割、ハード ドライブのフォーマット、ドライブ文字の変更、またはその他のディスク関連の操作を行う場合は、ディスクの管理ツールを開く必要があります。現在、このユーティリティには開くためのショートカットやアイコンがないため、Windows 10 でディスク管理を開くいくつかの異なる方法を次に示します。 Windows 10 または 11 でディスクの管理を開く 5 つの方法 1. Wind