Windows での優先順位。 Windows でプロセスの優先順位を管理する プログラムに優先順位を割り当てる方法


「優先」という言葉にはどのような意味があるのでしょうか? え、弱い? これは、エジプトにファラオと奴隷という階層があったのと同じように、特権です。違いを感じますか? ピラミッドのために石を運ぶ人もいれば、命令する人もいます - 民主主義です!))

同様に、プロセスにも優先順位があります。ああ、プロセスの意味がわかりませんね。

アクティブなプロセスとは、ブラウザ、ゲーム、プログラムなどの実行中のアプリケーションです。 これは、プロセスをサポートするためにすべてのリソースを割り当てることを可能にする優先順位であり、逆にプロセスの容量を制限することもできます。

なぜプロセスの優先順位を変更するのでしょうか?

あなたがコンピューター ゲームをプレイしているが、リソースの一部が他のアプリケーション、特に同様に消費するアプリケーションによって占有されていると想像してください。

したがって、Windows オペレーティング システムが、可能なすべての権限が 1 つのプロセス、つまりゲームに与えられる必要があることを理解するには、このプロセス (この例では、コンピューター ゲーム) に最高の優先順位を設定する必要があります。

ふーん、私の言いたいことがわかっていただければ幸いです。 さて、本題について話しましょう...

Windows での優先順位は何ですか?

  • リアルタイム優先 - 実際、Windows はこのプロセスを本来の目的とみなし、すべての可能なリソースがこのプロセスにのみ割り当てられます。
  • 高優先度 - 一部のリソースは他のアプリケーションに割り当てられますが、メインのパイは依然として 1 つのプロセスに与えられます。
  • 平均以上 – 選択したプロセスにわずかな利点が与えられます。
  • 中優先度 - 通常、すべてのプロセスは最初は「中」ステータスを持っているため、プロセスは正常に動作していると言えます。
  • 低 - Windows はプロセスを完全に無視し、その栄光をすべて表示することを許可しません。

優先順位を変更するにはどうすればよいですか?

これが私が現在使用しているシステムであるため、ここでは Windows 7 について説明します。

1. Alt + Ctrl + D ボタンの組み合わせを押すとリストが開きます。「タスク マネージャー」を選択する必要があります。

2. ブラウザなどの、大きくて目に見えるアプリケーションの優先順位を変更したい場合は、「アプリケーション」タブを選択し、適切なアクティブなアプリケーションを右クリックして、「プロセスに進む」をクリックする必要があります。

3. 次に、必要なプロセスがプロセス タブで強調表示されていることがわかります。通常、そのプロセスは指定されたアプリケーション自体と同じように呼ばれます。プロセスを右クリックし、優先度の上にマウスを置くだけです。適切なものを選択してください。

すでに説明したように、多くのリソースを消費し、現在使用しているアプリケーションに高い優先順位を与えることをお勧めします。これは、ゲーム、プログラム、ブラウザなど、何でもかまいません。

ご覧いただきありがとうございます。ご質問がございましたら、コメントを残してください。


zavlekyxa.ru

Windows Vista および Windows 7 でのプロセスの優先順位の管理

確かに、ほとんどの人はプロセスの優先順位が何であるかを知っていますが、そうでない場合は、簡単に説明してみます。 この概念は、ある意味では、Windows と Linux の両方、さらには他のオペレーティング システムでも同じです。 ここで、Windows Vista と Windows 7 のオペレーティング システムについて説明します。Windows Vista と Wnidows 7 ですが、以前のバージョンと同様に、システムはマルチタスクです。 多くのプログラムを並行して実行でき、マルチスレッドも実行できますが、これはすでに逸脱、またはむしろこのトピックの不必要な深掘りです。 Windows で実行される各プログラムは、1 つまたは複数のプロセスです。 各プロセスの起動時には、プログラム自体が起動する必要がある優先順位を指定していない限り、システムにメモリが割り当てられ、デフォルトの優先順位も設定されます。 プロセスの優先順位が高いほど、より多くのプロセッサ時間がそのプロセスに割り当てられ、優先順位が低いほど、より多くのプロセッサ時間がプロセスに割り当てられます。 簡単に言うと、優先順位が高くなるほど、プロセッサはより頻繁に、より多くのプロセスとその操作に「注意を払う」ことになり、優先順位が低くなるほど、「注意を払う」ことが少なくなります。 したがって、これは特定のプログラムの実行速度に影響します。 Windows 7 では、sidebar.exe (デスクトップ用のガジェット) のような、本質的に純粋に装飾的なプロセスが、他のプロセスとまったく同じ量の CPU 時間を受け取るという事実に最初驚きました。 同時に、sidebar.exe 自体は、過度に重要な機能や不要な機能を実行しません。 では、なぜ、たとえば 3D ゲームや大規模なシーンを含む 3D エディターなど、リソースを大量に消費するアプリケーションと同じ量の CPU 時間を費やす必要があるのでしょうか? この疑問に基づいて、よく言われるように、私はプロセスの優先順位をいじり始めました。 私が理解した主な点は、ユーザー プログラムの優先順位を「標準」より高くしない方が良いということです。そうすると、Windows Vista/7 がプロセッサ時間を誤って配分し始め、一部の重要なシステム プロセスが「遅く」なり始める可能性があるからです。 最後の手段として、必要なユーザー プロセスの優先度を「AboveNormal」に設定できますが、非常にまれに、これによりプログラムのパフォーマンスに顕著な違いが追加されます。 しかし同時に、たとえばゲームなどで貴重なプロセッサ時間を消費しないように、他のプロセスの優先度を下げることを禁じる人はいません。 多くの場合、このような操作により、実際に 5 ~ 10FPS で勝つことができます。 多くの人に知られている欠点は、「タスク マネージャー」で優先度を変更すると、プロセスが完了するまでしか保存されず、その後プロセスはデフォルトの優先度で再び開始されることです。 それらの。 優先順位の設定は記憶されません。 このため、インターネット上には、ユーザーの選択した優先順位を記憶し、次回プログラムを起動するときに自動的に優先順位を変更するプログラムが数多く登場しています。 当初、私は Windows にプロセスの優先順位を管理および記憶するための何らかのツールがないとは信じておらず、Microsoft の Web サイトでドキュメントを調べ始めました。 Windows の機能に関するドキュメントが不十分であるというテーマについては議論を始めるつもりはありませんが、私は正しかったことがわかりました。 Windows のどのプロセスでも、レジストリを介して実行される優先順位やその他のプロパティを手動で指定できます。 レジストリ キーへのパス: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows NT\CurrentVersion\Image File Execution Options レジストリ エディタを起動する方法 表示されたウィンドウで Win+R キーの組み合わせ (「ファイル名を指定して実行」コマンドへのショートカット) を押します。 、テキスト行に regedit と入力し、Enter キーを押します =) プロセスが常にすぐに開始される優先順位を指定するには、上記のレジストリ ブランチにその名前のセクションを作成する必要があります。

次に、その中に別のセクションを作成します。 すでに PerfOptions というサブセクションがあり、その中に CpuPriorityClass という DWORD パラメータ (32 ビット) を作成し、それを 10 進数値の 1、2、3、5、6 のいずれかに設定します。

1 - アイドル優先度 (低)。 2 - 優先度 通常 (中)。 3 - 優先度高 (高)。 5 - 優先度 BelowNormal (平均以下)。

6 - 優先度 AboveNormal (平均以上)。

例としてsidebar.exeを見てみましょう。

レジストリ ブランチ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows NT\CurrentVersion\Image File Execution Options にセクションsidebar.exe を作成します。 その中にサブセクション PerfOptions を作成します。 このサブセクションでは、CpuPriorityClass という 10 進数値 1 の DWORD パラメーター (32 ビット) を作成します。

したがって、sidebar.exe は常に低優先度 (アイドル) で実行されるようになります。

上記の操作はすべて、コマンド ライン (cmd) を通じて実行することもできます。

私は、ユーザーに代わってこれらすべてを実行する小さなユニバーサル バッチ ファイルを作成しました。 バッチ ファイルへのリンク: save_process_priority.cmd バッチ ファイルでは、すべての項目がロシア語で記述されています。 ユーザーは、必要なプロセス名を入力し、優先度を選択するだけで済みます。 優先順位の設定を有効にするには、プロセスを再起動する必要があります。 複数のシステムプロセスを一度に導入した場合は、システムを再起動すると簡単になります。 これが必要なのは、レジストリのデータはプログラムがロードされて起動されるときにのみ読み取られ、実行中は読み取られないためです。 以上です。ご清聴ありがとうございました =) 間違いに気づいた場合は、必ずお知らせください。大変感謝いたします。

著作権 © 2011 ツィリュタ G. N.

ストップゲーム.ru

Windows でのプロセスの優先順位の管理

Windows プロセスの優先順位について話しましょう。 ほとんどの場合、優先順位の設定を「試す」必要はありませんが、場合によっては、有能なシステム管理者が、システムが実行中のタスク間でプロセッサ時間をより正確に配分できるよう支援してくれることがあります。 唯一のレシピはありませんが、「選択して検索」することで十分に実現可能です。 これはどこで必要になるでしょうか? たとえば、1C と SQL の組み合わせでは、最もリソースが重要なプロセスである 1C と SQL により多くのプロセッサ時間を割り当てることができます。

一般に、タスク マネージャーを使用して、実行中のプロセスの優先順位を表示および変更できます。

Windows NT/2000/7/2008

Windows 2012 では、これはもう少し深く「埋められました」

示された例からわかるように、使用できる優先順位は 6 つだけです (後でわかりますが、これらは優先クラスです)。 十分? マイクロソフトはそう考えています。 しかし、「640 KB の RAM は誰にとっても十分だろう」という Bill Geist の「伝説的な」フレーズを思い出してください。 しかし、時間が経つにつれて、これが事実とは程遠いことが分かりました。 :)

では、実際はどうなのか見てみましょう。

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

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

  • 31 ~ 16 のリアルタイム レベル。
  • 15 - 1 のダイナミック レベル。
  • 0 - ゼロページスレッド用に予約されたシステムレベル。

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

  1. リアルタイム クラス (値 24)、
  2. 高級(価値13)、
  3. 通常クラス(値10)以上、
  4. 通常クラス(値8)、
  5. 通常クラス (値 6) 未満、
  6. またはアイドル クラス (値 4)。

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

各スレッドの優先順位 (基本スレッド優先順位) は、そのプロセスの優先順位とスレッド自体の相対優先順位の合計です。 スレッドの相対的な優先順位は 7 つあります。

  1. 通常: プロセスと同じ。
  2. 通常以上: プロセス優先度に +1。
  3. 正常以下: -1;
  4. 最高: +2;
  5. 最低: -2;
  6. タイム クリティカル: リアルタイム クラスの基本スレッド優先順位を 31 に設定し、他のクラスの基本スレッド優先順位を 15 に設定します。
  7. Idle: リアルタイム クラスの基本スレッド優先度を 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:\>開始 /? 別のウィンドウを起動して、指定されたプログラムまたはコマンドを実行します。 開始 ["タイトル"]

LOW IDLE 優先クラスでアプリケーションを開始します。

NORMAL NORMAL 優先度クラスでアプリケーションを起動します。 HIGH アプリケーションを HIGH 優先度クラスで起動します。 REALTIME REALTIME 優先クラスでアプリケーションを開始します。 ABOVENORMAL ABOVENORMAL 優先クラスでアプリケーションを開始します。 BELOWNORMAL BELOWNORMAL 優先度クラスでアプリケーションを開始します。

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

この方法の欠点:

  • 利用可能な優先順位は 6 つだけです

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

上で示したように、タスク マネージャーと START コマンドは、優先順位を割り当てるタスクとしては非常に扱いにくいものです。 これをより柔軟に使用する方法を見てみましょう。 wmic.exe ユーティリティを使用します。

コマンドライン:

wmic プロセス (name="AppName" の場合) CALL setpriority ProcessIDLevel

wmic プロセス name="calc.exe" CALL setpriority 32768

wmic プロセス name="calc.exe" CALL setpriority "abobonormal"

優先順位 (事前定義):

  • アイドル: 64
  • 通常より低い: 16384
  • ノーマル:32
  • 通常以上: 32768
  • 高優先度: 128
  • リアルタイム: 256

これは、wmic.exe を実行して必要な情報を取得する短い例です。

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

wmic プロセス リストの概要

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

wmic プロセス リストの概要 | 「cmd.exe」を見つけます

結果:

図をより完全なものにするために、特別に cmd.exe のコピーをいくつか起動しました。

これで、プロセスのリストは、実行可能モジュール名に文字列「cmd.exe」が含まれるプロセスのみに制限されます。 プロセスの PID に注意してください。

ここで、標準のコマンド ライン ツールに頼らずに WMI を直接使用して、対象となるプロセスを選択してみましょう。 これを行うには、次のように書くだけです。

description="cmd.exe" リストの概要を示す wmic プロセス

結果:

結果を比較してください。 CMD.EXE プロセスの PID を覚えておいてください。

wmic.exeを実行するコマンドライン

wmic プロセス (processid="XXXX" の場合) CALL setpriority ProcessIDLevel

さて、特定のプロセスの優先順位を変更できるようになりました (たとえば、PID=8476)。

wmic プロセス (processid = "8476" の場合) setpriority 32768 を呼び出します

wmic プロセス (processid = "8476" CALL setpriority "通常より")

winitpro.ru

Windows 7 のチューニングとパフォーマンスの向上。

コンピュータの速度は、多かれ少なかれ、すべてのユーザーにとって興味深いものです。 Windows 7 を最大限に活用するには、平均的なユーザーにとって最も単純な方法とより複雑な方法の両方を含む、いくつかのよく知られた方法に頼ることができます。

この記事では、システムのパフォーマンスを向上させるために設計された特別なプログラムの助けを借りずに、システムを手動でチューニングする方法について説明します。

洗浄開始

インストールする多くのプログラムは、Windows の起動時にスタートアップに追加されます。 コンピュータの電源を入れると自動的に起動します。 これらのプログラムのリストを確認し、頻繁に使用しない (またはまったく使用しない) プログラムを削除することで、システムの速度を向上させることができます。

これを行うには、システム構成管理ツールを実行する必要があります。

[スタート] -> [コントロール パネル] -> [システムとセキュリティ] -> [管理ツール] -> [システム構成]

または値を入力します「

msconfig」と入力して Enter キーを押します。

[スタートアップ] タブには、Windows の起動時に自動的に起動するすべてのプログラムが表示され、不要なプログラムは削除できます。 これは、システム レジストリから対応する値を削除することで手動で行うこともできます。 スタートアップ中のプログラムのリストは、次のレジストリ ブランチにあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\Run

不要なサービス(サービス)を無効にする

不要なサービスやほとんど使用されないサービスを無効にすると、RAM の負荷が一部軽減され、他のアプリケーションの実行速度が向上します。 サービスを無効にする前に、問題が発生した場合に備えて、システムの復元ポイントを作成することをお勧めします (特に経験の浅いユーザーの場合): [コントロール パネル] -> [システム] -> [システムの保護] -> [作成]... サービスのリストはここにあります: [スタート] - > [コントロール パネル] -> [システムとセキュリティ] -> [管理ツール] -> [サービス]

ここでは、ほとんど使用されていないサービスを無効にすることができます。 以下は安全に無効にできます。

· タブレット PC 入力サービス · コンピュータ ブラウザ · IP アシスタンス サービス · リモート レジストリ · プログラム互換性アシスタント サービス (上級ユーザー)

プロセス優先度の設定

実行中のアプリケーションの動作を高速化するには、バックグラウンド プロセスと比較してアプリケーションに高い優先順位を与える必要があります。 この場合、アクティブなアプリケーションにはより多くのプロセッサ時間が割り当てられます。 デフォルトでは、システムはこのように構成されていますが、アクティブ プロセスとバックグラウンド プロセスのリソース間のバランスはさらにシフトする可能性があります。 これに関与する値は Win32PrioritySeparation で、レジストリ キー HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl にあります。 システム レジストリを開くには、コマンド ラインに「regedit」と入力します。

デフォルトの 16 進値は 2 (16 進数) です。推奨値は 6 (16 進数) です。 有効な値の範囲は 1 ~ 26 (16 進数) です。

他の値を試して、システムをできるだけ高速化することができます。 注意: 値 0 は使用できません。コンピュータはすぐにフリーズします。

プロセッサ リソースの全体的なバランスを変更することに加えて、個々のプログラムの優先順位を高く設定できます。 これはタスク マネージャーを通じて実行できます。

場合によってはこれが役立つこともあります。 たとえば、あるプログラムが非常に長い操作を実行していて、それをより速く実行する必要がある場合、そのプログラムの優先順位を高く設定すると役立つ場合があります。

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

Windows 7 オペレーティング システムでは、システムを高速化できるいくつかの設定を構成できます。 [対話オプション] ダイアログを開くには、[スタート] -> [コントロール パネル] -> [システムとセキュリティ] -> [システム] -> [システムの詳細設定] -> [設定] ([詳細] タブ上) に移動します。

ここの [視覚効果] タブで、[スタート] メニューのアニメーション、Aero ピーク、ウィンドウの透明度、およびその他のオプションをオフにできます。 [最高のパフォーマンスを確保する] オプションを選択すると、すべての Windows Aero 視覚効果が無効になり、システムの動作は高速になりますが、Windows 7 が提供する美しさはすべて犠牲になります。

Aero ピークの加速

Aero Peek は、時計の右側にある小さな四角形の上にマウスを置くと、すべてのウィンドウが透明になる機能です。 この関数の応答時間を短縮するには、レジストリ キー HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\Explorer\Advanced にある DesktopLivePreviewHoverTime DWORD キーを変更する必要があります。

特定のブランチにそのようなキーがない場合は、キーを作成して、その値を変更するだけです。 10 進数値 1000 は 1 秒の遅延に相当し、500 は 0.5 秒に相当します。

ユーザー アカウント制御 (UAC) の無効化

ユーザー アカウント制御 (UAC) は、管理者権限を必要とするシステムへの変更をユーザーに通知します。 このサービスは、新しいプログラムをインストールしようとしたとき、ファイル システムに変更が加えられたときなどに通知を表示します。 これは初心者にとっては便利ですが、経験豊富なユーザーにとってはイライラすることがよくあります。 ユーザー アカウント制御からの通知を無効にするには、次の手順を実行する必要があります。

· システム構成を実行します (コマンド ラインで引用符なしの「msconfig」)。 · 「サービス」タブに移動し、リストから「ユーザー アカウント制御設定」項目を見つけます。 · この項目を選択して、「実行」ボタンをクリックします。 · ダイアログが開き、スライダーを使用して通知の発行を調整できます。

加えられた変更は、コンピュータの再起動後に有効になります。

mydiv.net

実行中のプログラムの優先順位を変更する方法

コンピュータは動作中に多くの問題を同時に解決します。 ちなみに、同時に、これは完全に真実ではなく、プロセッサは単に複数のタスクを切り替えてアプリケーションを実行し、それらを1つずつ実行します。 これは非常に迅速に行われるため、同時作業のような印象を与えます。 コンピュータがより重要であると考えるプログラムには、他のプログラムよりも高い優先順位が与えられるため、より多くのプロセッサ時間がそのようなプログラムに割り当てられます。 通常、基本優先度はプログラム コードによって指定されます。 優先レベルは、リアルタイム、高、平均以上、平均、平均以下、低のパラメータによって決定されます。 ユーザーは、プログラムにより多くの CPU 時間を与える必要があると思われる場合、タスク マネージャーを使用して、すでに実行中のプログラムの基本優先度を必要に応じて変更できます。 または、複数のアプリケーションが同時に実行されているときに、特にリソースを大量に消費する一部のプログラムがプロセッサ時間を占有しすぎて、他のプロセスの実行が遅くなる状況では、優先度を下げます。 ユーザーによって行われたこれらの変更は、プロセスが実行されている間のみ有効になります。 次回プロセスが開始されるときは、その基本優先度値で実行されます。 優先度を変更するには、タスクバー領域を右クリックしてタスク マネージャーを開き、以下を選択する必要があります。 「プロセス」タブに移動し、変更するプロセスの名前を強調表示します。 次に、このプロセスを右クリックし、メニューから「優先度」を選択し、別の優先度レベルを指定します。 優先度の高いプログラムを実行すると、他の実行中のプログラムが I/O 操作に費やす時間が少なくなるため、システムのパフォーマンスが低下する可能性があることに注意してください。

Tipskettle.blogspot.ru

全てにおいて良い日。 今日はタイトルからもわかるように、その方法について話します。 コンピュータとプロセッサを高速化します優先順位付けを使用します。

プロセスごとに異なる優先度 (バックグラウンド、通常、高、リアルタイムなど) を使用できるため、パフォーマンスが最適化され、より多くの処理能力 (プロセッサー時間) が割り当てられるという話を聞いたことがある人も多いでしょう。

これにより、特定のアプリケーションやシステム全体、さらには ping の動作が大幅に高速化されることがありました (原則として、プロセッサの優先順位と電力に応じて ping を削減する理由については、別の記事で概説します)。

理論的にコンピュータとプロセッサを高速化する方法

ただし、たとえば、3D ゲームと通常のメモ帳はわずかに異なるアプリケーションであることに同意するでしょう。3D アプリケーションでは、このメモ帳そのものを操作する可能性は低いため、明らかにゲームはリアルタイムでより多くのプロセッサ リソースを必要とします。当分の間は必要ありません(メモ帳には特別なプロセッサ能力はほとんど必要ありません。そのプログラムは存在しません...まさにそのようなものです)。

ここからは、アプリケーションごとに異なる優先順位を設定するのが論理的であるように見えますが (特にマルチコアの場合)、実際にはこれは現実とは程遠いです。

すでにおわかりのとおり、私は本格的なアプリケーションに高い優先順位を与えるべきであり、より多くのコンピューター リソースを投入することで自動的に大幅に最適化されるという考えに至りました。

しかし、これを毎回手動で行うのは(タスクマネージャーで設定した優先順位が再起動後にシステムによって忘れられるため)、本当に罰則であり、一般に怠惰であることに同意していただけると思います。したがって、このプロセスを何らかの方法で自動化する必要があります。つまり、条件付きではありますが、コンピュータとプロセッサの高速化は完全に手動ではありません。

これがこの記事で説明する内容です。

プログラムを使用して実際にコンピュータを高速化する方法

約 2 か月前、Mz CPU Accelerator という素晴らしいプログラムに出会いました。 これは、アクティブなウィンドウまたはアプリケーションのプロセッサの優先順位を、事前に指定された優先順位に自動的に変更します。これは、プロセッサとコンピュータの速度を向上させるため、一般的には必要なことです。

さらに、これらすべては非常に便利かつ論理的な方法で実装されており、ユーザーに不必要な動作を必要としません。 さらに、マルチプロセッシング (マルチコア) と、アプリケーションを別のセグメントで実行する機能 (つまり、4 つのコアのうち 2 つだけをプログラムに割り当てる (これは、非常に的を絞った最適化に近い) がサポートされています)。

注記: どうして今までこの奇跡に遭遇しなかったのか、わかりません:)

つまり:

  • リアルタイムに円を置きます。
  • [Windows 起動時にロード] チェックボックスをオンにします (システムの起動時にプログラムがすぐにロードされるようにします)。
  • Start Activated (プログラムがすぐにアクティブ化されるように、つまり、その任務を開始するために追加のボタンを押す必要がないように) および..
  • 最小化を開始します (最初はトレイに最小化されます)。

必要に応じて、[起動時に更新を確認する] をオンにすることもできます (これにより、プログラムの更新が行われたかどうかをすぐに確認できます)。また、好みに応じてプログラムがトレイにどのように表示されるかを選択することもできます: Mz CPU アクセラレータ アイコンを表示(プログラム自体のアイコンがトレイに表示されます) または CPU 使用率を表示します (どれくらいビジーであるかを示します) (数値の色はドロップダウン リストから選択されます)。

これですべてです。あとは、[アクティブ化] ボタンを押して、コンピューター、より正確にはアクティブなウィンドウまたはアプリケーションがどのように加速するかを楽しむだけです。

知っておくと役立つメモのリスト

このトピックに関して他に知っておく価値があること、理解する価値があることは次のとおりです。

  • 注: [除外] タブでは、プログラムによって最適化されたアプリケーションのリストから除外するアプリケーションを追加できます。 優先順位は割り当てられません。 これを行うには、[新しいプロセスの追加] ボタンを使用して、除外するプログラムを選択します。
  • 注 2: [CPU マネージャー] タブでは、プロセスをさまざまなコアに分散できます ([新しいプロセスの追加] および [新しいプロセスの実行] ボタン)。つまり、一部のコアを一部のプログラムに割り当て、別のコアを他のプログラムに割り当てることができます。パフォーマンスの向上に影響します。 原理的には同様
  • 注 3: 私自身はこの問題に遭遇したことはありませんが、一部のマシンでは、過度に高い優先順位を選択したために (システムの速度低下という形で) 問題が発生する可能性があることを (可能性は低いですが) 認めます。 この場合、リアルタイムの代わりに高サークルを使用してみてください。

さて、あとがきに移ります。

あとがき

つまりね。 一般的に、私はこのプログラムがとても気に入りました。なぜなら、このプログラムは非常に効果的で、コンピュータ、Windows、そして比較的言えばプロセッサを高速化できるからです。

ちなみに、理論的には、この増加は、マルチコア プロセッサの所有者だけでなく、FireFox ブラウザのユーザーにも特に強く感じられます (これはプロセッサに依存しており、リアルタイム優先を受け取ると、著しく高速になり始めます (特にコンパートメント内))、そしてプロセッサに依存する本格的なアプリケーションに何らかの形で接続しているすべての人(これは、写真、ビデオ、3D エディターでのあらゆる種類のレンダリングについて話しています)。

ご質問がございましたら、いつものように記事のコメント欄にご質問ください。喜んでお手伝いさせていただきます。

PS: 生産性の向上に関する個人的な感情に関するレビューは、質問と同じくらい興味深いものです;)

からの回答 ヌル[教祖]
最初に 1 つのプロセスの 1 つのコマンドが実行され、次に別のコマンドが実行され、次に最初のプロセスの 2 番目のコマンドが実行されます。 プロセスの優先度は、プロセッサがそのプロセスにアクセスする頻度を示します。つまり、優先度が高いほどプログラムの速度は速くなりますが、これにより他のプロセスの作業が遅くなります。


からの回答 啓発[アクティブ]
コンテキスト切り替えの直後、カーネルはプロセス スケジューリング アルゴリズムを開始し、「予約」状態と「実行準備完了、メモリにロード済み」状態にあるプロセスの中から最も優先度の高いプロセスを選択して実行します。 プロセスはロードされなければ実行できないため、メモリにロードされていないプロセスを考慮することは意味がありません。 複数のプロセスが最も高い優先度を持つ場合、カーネルは循環リスト (カルーセル) の原理を使用して、その中から他のプロセスよりも長く「実行準備完了」状態になっているプロセスを選択します。 一般に、アクセスしているプログラムが優先されますが、それに加えて、それに参加する必要がある他のプロセスも存在するため、優先順位が決まります。 。 リアルタイムとは毎秒を意味します。

説明書

「Ctrl+Alt+Delete」キーの組み合わせを押します。 実行できるアクションのリストが画面に表示されます。

開いたタスクマネージャーウィンドウで、「アプリケーション」タブに移動します。

優先順位を変更したい番組を選択します。 それを右クリックし、ドロップダウン メニューで [プロセスに移動] をクリックします。 コンピュータ上で実行されるすべてのプログラムには独自のプロセスがあり、それらのプロセスに対して優先順位が設定されます。

ドロップダウン メニューで、優先度を中、高、低、またはその他に設定します。

役立つアドバイス

タスク マネージャーで実行中のプロセスに関する詳細情報を表示できます。 これを行うには、それを右クリックして「プロパティ」コマンドを選択します。 表示されるダイアログ ボックスには、プロセスの配置やサイズなどの詳細が表示されます。 [詳細] タブをクリックして、プロセスに関する詳細情報を表示します。

タスクマネージャーは、タスクバーを右クリックし、ドロップダウンメニューから「タスクマネージャー」を選択することで起動できます。

出典:

  • 優先順位を変更する方法

UNIX におけるプロセスのスケジューリングは優先度に基づいています。 通常、各プロセスには 2 つの優先順位属性があります。 Windows には 32 の優先順位レベルがあります。 コンピュータでは、オペレーティング システム内のプログラムの動作を高速化できます。 これを行うには、プロセスの優先順位を上げるだけです。

説明書

「タスクマネージャー」に移動する必要があります。 これを行うには、「タスクバー」セクションを右クリックします。 コンテキストメニューから「タスクマネージャー」を選択します。 「プロセス」タブに移動します。 そこには、実行中のすべてのプロセスのリストが表示されます。 必要なものを見つけて右クリックします。 次に「優先」コマンドを選択します。 これで、プロセスの優先度を上げることができます。 「タスクマネージャー」が可能です。

InqSoft Speedballs ユーティリティを使用して優先順位を上げることもできます。 これにより、すべてのプロセスが監視されます。 起動してください。 プロセスの優先度を自動的に上げます。 「設定」に移動すると、設定を変更できます。 「優先度を上げる」というメニューで、「高」ボックスをチェックし、「適用」をクリックします。

コントロール パネルで、[設定] セクションに移動します。 「パフォーマンスとメンテナンス」を選択します。 「システム」メニューに移動し、「パフォーマンス」タブに切り替えます。 [アプリケーション パフォーマンス] セクションを見つけて、矢印を使用して目的のプロセスの優先順位レベルを設定します。

Linux でもプロセスの優先順位を上げることができます。 これはコンソールを通じて行われます。 一番上のコマンドを押すと、テキストが目の前に表示されます。 これで、さまざまなアクションを実行できるようになります。 優先度を上げるには、キーボードの r キーを押します。

ゲーム内のプロセスの優先順位を上げる必要がある場合は、次の手順を実行します。 たとえば、World of Warcraft というゲームを考えてみましょう。 「スタート」から「メモ帳」プログラムを開きます。 次のテキストを貼り付けます: @echo off cd /d "C:/Program Files/World of Warcraft"start/high wow.exe。 このパス「C:/Program Files/World of Warcraft」を新しいパスに変更します。 以前にメモ帳に書いたテキストを .bat 形式で保存します。 このファイルからゲームを起動します。 優先度が上がっていることがわかります。

出典:

  • 優先順位を変更する方法

コンピューターのリソースがどれほど強力であっても、それは無限ではありません。 特別な OS コンポーネントは、RAM とグラフィックス メモリ、プロセッサへのアクセスの優先順位と頻度、キャッシュ メモリ、およびその他のリソースを、実行中のすべてのシステムとアプリケーション プログラム間で分配します。 彼は、デフォルトで彼自身がコンパイルする優先順位テーブルに従ってこれを実行します。 ユーザーには、実行中のプロセスの重要性の配分に介入する機会があります。

説明書

Windows タスク マネージャーを起動します。 これは、Ctrl + Alt + Delete キーの組み合わせを押すなど、いくつかの方法で実行できます。 Windows 7 では、画面に追加のメニューが表示され、そこで「タスク マネージャーの起動」を選択する必要がありますが、以前のバージョンの Windows では、この中間ステップは存在しません。 タスク マネージャーを開くもう 1 つの方法は、Win + R キーの組み合わせを押してプログラム起動ウィンドウを開き、taskmgr コマンドを入力して [OK] ボタンをクリックすることです。

目的のプロセスが含まれる行を右クリックし、コンテキスト メニューの「優先度」セクションを展開します。 デフォルトでは、すべてのプロセスの優先順位は「通常」です。リストされている 6 つのオプションのいずれかを選択して、これを変更します。 ただし、場合によっては、アプリケーション プログラムの優先度(「高」や「リアルタイム」の項目)を上げすぎると、キーストロークやマウスの動きなどに対するオペレーティング システムの応答が遅くなる可能性があることを忘れないでください。 システム プロセス (たとえば、explorer という名前のプロセス) の優先度が過度に低くなった場合にも、同じ問題が発生する可能性があります。

話しましょう Windows プロセスの優先順位について。 ほとんどの場合、優先順位の設定を「試す」必要はありませんが、場合によっては、有能なシステム管理者が、システムが実行中のタスク間でプロセッサ時間をより正確に配分できるよう支援してくれることがあります。 唯一のレシピはありませんが、「選択して検索」することで十分に実現可能です。 これはどこで必要になるでしょうか? たとえば、1C と SQL の組み合わせでは、最もリソースが重要なプロセスである 1C と SQL により多くのプロセッサ時間を割り当てることができます。

一般に、タスク マネージャーを使用して、実行中のプロセスの優先順位を表示および変更できます。

ウィンドウズ台湾/2000/7 /2008

Windows 2012の場合それはもう少し深く「埋められた」

上記の例からわかるように、利用できる優先順位は 6 つだけです (後で判明しますが、これらは 優先クラス)。 十分? マイクロソフトはそう考えています。 しかし、「640 KB の RAM は誰にとっても十分だろう」という Bill Geist の「伝説的な」フレーズを思い出してください。 しかし、時間が経つにつれて、これが事実とは程遠いことが分かりました。 :)

では、実際はどうなのか見てみましょう。

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

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

  • 31 — 16 リアルタイムレベル。
  • 15 — 1 ダイナミックレベル。
  • 0 - ゼロページスレッド用に予約されたシステムレベル。

プロセスが作成されると、6 つのうちの 1 つが割り当てられます。 優先クラス:

  1. リアルタイム クラス (値 24)、
  2. 高級(価値13)、
  3. 通常クラス(値10)以上、
  4. 通常クラス(値8)、
  5. 通常クラス (値 6) 未満、
  6. またはアイドル クラス (値 4)。

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

注記: 通常以上の優先順位と通常より下の優先順位は、Windows 2000 以降に導入されました。

各スレッドの優先順位 ( 基本スレッドの優先順位) はそのプロセスの優先度で構成され、 相対的な優先度ストリーム自体。 スレッドの相対的な優先順位は 7 つあります。

  1. 通常: プロセスと同じ。
  2. 通常以上: プロセス優先度に +1。
  3. 正常以下: -1;
  4. 最高: +2;
  5. 最低: -2;
  6. タイム クリティカル: リアルタイム クラスの基本スレッド優先順位を 31 に設定し、他のクラスの基本スレッド優先順位を 15 に設定します。
  7. Idle: リアルタイム クラスの基本スレッド優先度を 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 コマンドを使用できます。

利用可能な優先順位のオプションは次のとおりです (コマンドのコマンド ライン オプションは意図的に省略しています) 始める説明されている優先順位を扱うプロセスとは関係ありません):

C:\>開始 /?
別のウィンドウを起動して、指定されたプログラムまたはコマンドを実行します。
開始 ["タイトル"]


低い IDLE 優先クラスでアプリケーションを開始します。
普通 NORMAL 優先度クラスでアプリケーションを起動します。
高い高優先度クラスでアプリケーションを起動します。
リアルタイム REALTIME優先クラスでアプリケーションを起動します。
正常以上 ABOVENORMAL 優先度クラスでアプリケーションを開始します。
正常以下 BELOWNORMAL 優先度クラスでアプリケーションを開始します。

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

この方法の欠点:

  • 利用可能な優先順位は 6 つだけです

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

上で示したように、タスク マネージャーと START コマンドは、優先順位を割り当てるタスクとしては非常に扱いにくいものです。 これをより柔軟に使用する方法を見てみましょう。 ユーティリティを使用します wmic.exe.

コマンドライン:

wmic プロセス (name="AppName" の場合) CALL setpriority ProcessIDLevel

wmic プロセス name="calc.exe" CALL setpriority 32768

wmic プロセス name="calc.exe" CALL setpriority "abobonormal"

優先順位 (事前定義):

  • アイドル: 64
  • 通常より低い: 16384
  • ノーマル:32
  • 通常以上: 32768
  • 高優先度: 128
  • リアルタイム: 256

退却。 同じ名前のプロセスが複数ある場合はどうすればよいですか? プロセスの優先度は、プロセス名またはプロセスの PID (プロセス ID) を使用して変更できます。

これは、wmic.exe を実行して必要な情報を取得する短い例です。

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

注記注:このコマンドの実行例は示しません。 プロセスのリストが大きすぎます。 必要に応じて、これを自分で行うこともできます。

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

wmic プロセス リストの概要 | 「cmd.exe」を見つけます

結果:

図をより完全なものにするために、特別に cmd.exe のコピーをいくつか起動しました。

これで、プロセスのリストは、実行可能モジュール名に文字列「cmd.exe」が含まれるプロセスのみに制限されます。 プロセスの PID に注意してください。

ここで、標準のコマンド ライン ツールに頼らずに WMI を直接使用して、対象となるプロセスを選択してみましょう。 これを行うには、次のように書くだけです。

description="cmd.exe" リストの概要を示す wmic プロセス

結果:

結果を比較してください。 CMD.EXE プロセスの PID を覚えておいてください。

wmic.exeを実行するコマンドライン

wmic プロセス (processid="XXXX" の場合) CALL setpriority ProcessIDLevel

さて、特定のプロセスの優先順位を変更できるようになりました (たとえば、PID=8476)。

wmic プロセス (processid = "8476" の場合) setpriority 32768 を呼び出します

wmic プロセス (processid = "8476" CALL setpriority "通常より")