CPU管理

これらの設定により、CPU 使用率を最適化できます。

CPU 管理設定

プロセスは、すべてのコアで実行でき、必要なだけの CPU を使い果たすことができます。Workspace Environment Management (WEM)** では、 **CPU 管理設定を使用して、個々のプロセスが使用できる CPU 容量を制限できます。CPU スパイク保護は、CPU 全体の使用量を減らすようには設計されていません。CPU 使用率を過剰に消費するプロセスによるユーザーエクスペリエンスへの影響を軽減するように設計されています。

CPU スパイク保護が有効になっている場合、プロセスが指定のしきい値に達すると、WEM はプロセスの優先度を一定時間下げます。その後、新しいアプリケーションが起動されると、それは優先順位の低いプロセスよりも高い優先順位を持ち、システムは円滑に動作し続けます。

CPUスパイク保護は、迅速な「スナップショット」で各プロセスを検査します。プロセスの平均負荷が、指定されたサンプル時間に対して指定された使用制限を超えた場合、その優先度は直ちに低下します。指定した時間が経過すると、プロセスの CPU 優先度は以前の値に戻ります。プロセスは「調整されていません。「CPUクランピングと同様に、その優先順位のみが低下します。

CPU スパイク保護は、個々のプロセスの少なくとも 1 つのインスタンスがしきい値を超えるまでトリガーされません。つまり、合計 CPU 消費量が指定されたしきい値を超えても、少なくとも 1 つのプロセスインスタンスがしきい値を超えない限り、CPU スパイク保護はトリガーされません。しかし、そのプロセスインスタンスが CPU スパイク保護をトリガーすると、[Enable Intelligent CPU Optimization] オプションを有効にすると、同じプロセスの新しいインスタンスが (CPU) 最適化されます。

特定のプロセスが CPU スパイク保護をトリガーするたびに、そのイベントがエージェントのローカルデータベースに記録されます。エージェントは、ユーザーごとにトリガーイベントを個別に記録します。つまり、user1 の特定のプロセスの CPU 最適化は、user2 の同じプロセスの動作に影響しません。

たとえば、Internet ExplorerがCPUの50~ 60% を消費している場合、CPUスパイク保護を使用して、VDAのパフォーマンスを脅かすiexplore.exeインスタンスのみを対象にできます。(対照的に、CPU クランプはすべてのプロセスに適用されます。)

サンプル時間を試して、同じVDAにログオンしている他のユーザーに影響を与えない環境に最適な値を決定することをお勧めします。

CPU スパイク保護

注:

  • 以下の設定の「CPU使用率」は、物理マシンまたは仮想マシンの「論理プロセッサ」数に基づきます。CPU 内の各コアは、Windows と同じ方法で、論理プロセッサと見なされます。たとえば、1 つの 6 コア CPU を搭載した物理マシンは、12 個の論理プロセッサを搭載していると見なされます (ハイパースレッドテクノロジーにより、コアが 2 倍になります)。8 x CPU を搭載した物理マシンで、それぞれ 12 個のコアを持つ論理プロセッサが 96 個あります。2 つの 4 コア CPU で構成された VM には、8 個の論理プロセッサがあります。
  • 仮想マシンにも同じことが当てはまります。たとえば、8個のCPUを搭載し、それぞれ12コア(96個の論理プロセッサ)を持ち、4つのマルチセッションOS VDA仮想マシンをサポートする物理マシンがあるとします。各 VM は、2 つの 4 コア CPU(8 個の論理プロセッサ)で構成されます。仮想マシンで CPU スパイク保護をトリガーするプロセスを制限し、そのコアの半分を使用するには、[CPU コア使用量の 制限] を 48 (物理マシンの論理プロセッサの半分) ではなく 4 (仮想マシンの論理プロセッサの半分) に設定します。

CPU スパイク保護を有効にします。一定時間([idle priority time] フィールドで指定)の CPU 使用率が指定された割合を超えた場合に、一定時間([limit sample time] フィールドで指定)のプロセスの CPU プライオリティが低下します。

  • CPUスパイクを自動防ぎます。このオプションを使用して、CPU を過負荷にするプロセスの CPU 優先度を自動的に下げます。このオプションは、論理プロセッサ (CPU コア) の数に基づいて、CPU スパイク保護をトリガーするしきい値を自動的に計算します。たとえば、4 つのコアがあるとします。このオプションを有効にすると、全体の CPU 使用率が 23% を超えると、全体の CPU リソースの 15% 以上を消費するプロセスの CPU 優先順位が自動的に低下します。同様に、8コアの場合、全体のCPU使用率が 11% を超えると、CPUリソースの 8% 以上を消費するプロセスのCPU優先度は自動的に低下する。

  • CPUスパイク保護をカスタマイズする。 CPU スパイク保護の設定をカスタマイズできるようになります。

    • CPU 使用率の上限。CPU スパイク保護をトリガーするためにプロセスインスタンスが到達する必要がある CPU 使用率の割合。この制限は、サーバー内のすべての論理プロセッサでグローバルであり、インスタンスごとに決定されます。同じプロセスの複数のインスタンスで、CPU スパイク保護トリガーを決定するときに、CPU 使用率のパーセンテージが追加されません。プロセスインスタンスがこの制限に達しない場合、CPU スパイク保護はトリガーされません。たとえば、サーバーVDAで、複数の同時セッションで、多数のiexplore.exeインスタンスがあるとします。各インスタンスは一定期間の CPU 使用率が約 35% に達するため、iexplore.exe は累積的に CPU 使用率の高い割合を常に消費しています。ただし、CPU 使用率の制限を 35% 以下に設定しない限り、CPU スパイク保護はトリガーされません。
    • [ サンプル時間の制限]:プロセスが CPU 使用率の上限を超えてから CPU プライオリティを下げる必要がある時間の長さ。
    • アイドル優先時間。プロセスの CPU 優先度が下がる時間の長さ。この時間が経過すると、優先順位は次のいずれかに戻ります。
      • [CPU 優先度** ] タブでプロセスの優先順位が指定されておらず、[インテリジェント CPU 最適化 **を有効にする] オプションが選択されていない場合の既定のレベル (標準)。
      • [インテリジェント CPU 最適化 を有効にする] オプションが選択されているかどうかにかかわらず、** [ **CPU 優先度] タブでプロセスの優先度を指定した場合に指定したレベル。
      • プロセスの動作に応じてランダムレベル。このケースは、[ CPU 優先度 ] タブでプロセスの優先度が指定されておらず、[インテリジェント CPU 最適化 を有効にする] オプションが選択されている場合に発生します。プロセスが CPU スパイク保護をトリガーする頻度が高いほど、CPU プライオリティは低くなります。

CPU コア使用制限を有効にします。CPU スパイク保護をトリガーするプロセスを、マシン上の指定された数の論理プロセッサに制限します。1 ~ X の範囲の整数を入力します。X はコアの総数です。X より大きい整数を入力すると、WEM はデフォルトで、分離プロセスの最大消費量を X に制限します。

  • CPU コア使用量の制限。CPU スパイク保護をトリガーするプロセスが制限される論理プロセッサの数を指定します。仮想マシンの場合、入力した値によって、基盤となる物理ハードウェアではなく、仮想マシン内の論理プロセッサの数に制限されます。

インテリジェントな CPU 最適化を有効にします。有効にすると、エージェントは CPU スパイク保護をトリガーするプロセスの CPU 優先度をインテリジェントに最適化します。CPU スパイク保護を繰り返しトリガーするプロセスには、正しく動作するプロセスよりも起動時に CPU 優先度が徐々に低く割り当てられます。WEM は、次のシステムプロセスに対して CPU 最適化を実行しないことに注意してください。

  • Taskmgr
  • System Idle Process
  • システム
  • Svchost
  • LSASSだ
  • Wininit
  • services
  • csrss
  • audiodg
  • MsMpEng
  • NisSrv
  • mscorsvw
  • vmware解決セット

インテリジェントI/O最適化を有効にします。有効にすると、エージェントは CPU スパイク保護をトリガーするプロセスのプロセス I/O 優先度をインテリジェントに最適化します。CPU スパイク保護を繰り返しトリガーするプロセスには、正しく動作するプロセスよりも起動時に I/O 優先度が徐々に低く割り当てられます。

指定したプロセスを除外。デフォルトでは、WEM CPU管理では、最も一般的なCitrix およびWindowsコアサービスプロセスがすべて除外されます。ただし、このオプションを使用すると、実行可能ファイル名 (例:notepad.exe) による CPU スパイク保護の除外リストから** プロセスを 追加**または削除できます。通常、ウイルス対策プロセスは除外されます。

ヒント:

  • セッションでディスク I/O を引き継ぐウイルス対策スキャンを停止するには、ウイルス対策プロセスの静的 I/O 優先度を [低] に設定することもできます。詳細については、「 I/O の管理」を参照してください
  • プロセスが CPU スパイク保護をトリガーし、プロセスの CPU 優先度が低下すると、WEM はプロセスの CPU 優先度が低下するたびに警告を記録します。イベントログの [アプリケーションログとサービスログ] の [Norskale エージェントサービス] で、「プロセスのプロセス制限スレッドを初期化中」を探します。

CPU プライオリティ

これらの設定は、プロセスがリソースに対して競合している場合に有効になります。これにより、特定のプロセスの CPU 優先度レベルを最適化し、CPU プロセッサ時間を競合するプロセスがパフォーマンスのボトルネックを引き起こさないようにします。プロセスが互いに競合する場合、優先順位の低いプロセスは、優先順位の高い他のプロセスの後に処理されます。したがって、全体的な CPU 消費量の大きなシェアを消費する可能性は低くなります。

ここで設定したプロセス優先度によって、プロセス内のすべてのスレッドの「基本優先度」が設定されます。スレッドの実際の「現在の」優先度は高い可能性があります(ただし、ベースよりも低いことはありません)。コンピュータ上で多数のプロセスが実行されている場合、プロセッサ時間は CPU 優先度レベルに基づいてプロセス間で共有されます。プロセスの CPU 優先度レベルが高いほど、プロセスに割り当てられるプロセッサ時間が長くなります。

注:

特定のプロセスで CPU 優先度レベルを下げると、全体的な CPU 消費量が減少するとは限りません。CPU 使用率のパーセンテージに影響する他のプロセス(CPU プライオリティが高い)がある可能性があります。

プロセスの優先度を有効にします。選択すると、プロセスの CPU 優先度を手動で設定できます。

CPU 優先順位のプロセスリストにプロセスを追加するには

  1. [ 追加] をクリックし 、[プロセス CPU 優先度の 追加 ] ダイアログボックスで詳細を入力します。
  2. [ OK ] をクリックしてダイアログボックスを閉じます。
  3. [ 適用 ] をクリックして設定を適用します。ここで設定したプロセス CPU の優先順位は、エージェントが新しい設定を受け取り、プロセスが再起動されたときに有効になります。

    プロセス名。拡張子のないプロセスの実行可能ファイル名。たとえば、Windows エクスプローラー (explorer.exe) の場合は、「エクスプローラー」と入力します。

    CPU プライオリティ。プロセス内のすべてのスレッドの「ベース」優先度。プロセスの優先度が高いほど、プロセッサ時間が長くなります。[リアルタイム]、[高]、[通常以上]、[通常以下]、[低] から選択します。

プロセス I/O 優先度項目を編集するには

プロセス名を選択し、「 編集」をクリックします

I/O 優先度リストからプロセスを削除するには

プロセス名を選択し、「 削除」をクリックします

CPU アフィニティ

プロセスのアフィニティを有効にします。有効にすると、プロセスが使用する「論理プロセッサ」の数を定義できます。たとえば、VDAで起動されるメモ帳のすべてのインスタンスを、定義されたコア数に制限できます。

CPU クランピング

CPU クランピングは、CPU の処理能力の指定したパーセンテージを超えるプロセスが使用されるのを防ぎます。指定したCPU率に達すると、WEMにより、そのプロセスが「調整」(または「クランプ」) されます。これにより、プロセスが大量の CPU を消費するのを防ぐことができます。

注:

  • CPUクランプは、演算費用のかかるブルートフォースアプローチです。面倒なプロセスの CPU 使用率を人為的に低く抑えるには、静的の CPU 優先度と CPU アフィニティをそのようなプロセスに割り当てるのと同時に、CPU スパイク保護を使用する方がよいでしょう。CPUクランプは、リソース管理で悪く悪くても優先順位が下がることができないプロセスを制御するために予約するのが最適です。
  • プロセスに CPU の処理能力のパーセンテージを適用し、後で同じプロセスに対して異なる割合を構成したら、[エージェントホスト設定の ** 更新] を選択して変更を有効にします。

設定したクランピングパーセンテージは、サーバに含まれる個々のコアではなく、サーバ内の個別の CPU の総電力に適用されます。つまり、クアッドコアCPUの10%はCPU全体の10%であり、1つのコアの 10%ではありません。

プロセスクランプを有効にします。プロセスクランプを有効にします。

[ 追加]。実行可能ファイル名 (たとえば、notepad.exe) でプロセスを追加します。

[ 削除]。強調表示されたプロセスをクランプリストから削除します。

[ 編集]:特定のプロセスに入力された値を編集します。

ヒント:

  • WEMがプロセスをクランプしているとき、WEMクライアントが初期化するウォッチリストにプロセスを追加します。これを表示することで、プロセスがクランプされていることを確認できます。
  • また、CPU クランプが機能していることを確認するには、プロセスモニターを見て、CPU 消費量がクランプ率を上回らないことを確認します。

CPU管理