※本コンテンツは「記事制作ポリシー」に基づき、正確かつ信頼性の高い情報提供を心がけております。万が一、内容に誤りや誤解を招く表現がございましたら、お手数ですが「お問い合わせ」よりご一報ください。速やかに確認・修正いたします。
優先度の基礎(安全運用のための前提)
優先度レベル:Low / BelowNormal / Normal / AboveNormal / High / Realtime
目安:
AboveNormal…少し優先したい常用アプリ(編集ソフト等)
High…重い処理・ゲーム・ビルドなどの“本気モード”
Realtime…基本使わない(システムが重く感じたり入力遅延の原因)
優先度を上げれば必ず速くなるわけではありません。CPU負荷の“順番”が変わるだけで、I/O待ちやGPU起因の遅さは解決しません。
タスクマネージャーで優先度を変更する(5パターン)
方法①:ショートカットで“常に高”起動(最速・クリック派)
デスクトップを右クリック → 新規作成 → ショートカット
「項目の場所」に次を入力(例:Highで起動)
powershell.exe -Command “Start-Process ‘C:\Path\To\App.exe’ -Priority High”他のレベル:
Low/BelowNormal/Normal/AboveNormal/High/Realtime
名前を付けて保存(例:
App(高優先度))。必要ならショートカットのプロパティ → 詳細設定 → 管理者として実行にチェック。
UACが出る環境や、アプリが管理者権限を要求する場合は有効に。
ポイント
アプリのパスに空白がある場合は、必ず
'か"で囲む。パスが不明なら、対象アプリのショートカット→リンク先を確認。
方法②:コマンド(手動実行・検証に便利)
コマンドプロンプト(cmd.exe)
スイッチ:/Low /BelowNormal /Normal /AboveNormal /High /Realtime
PowerShell
使いどころ:まずは動作確認。うまくいけばショートカットやスケジューラに発展させる。
方法③:タスク スケジューラでログオン時に自動起動(最も確実)
「サインインのたびに自動でHighで立ち上げる」=実質的な固定化。
タスク スケジューラを起動
(スタートメニューで「タスク スケジューラ」と検索)
右側の「タスクの作成」をクリック
全般タブ
名前:
App_優先度High起動(必要に応じて)「最上位の特権で実行する」にチェック
トリガータブ → 新規
「ログオン時」(または「コンピューターの起動時」)を選択
操作タブ → 新規
プログラム/スクリプト:
powershell.exe引数の追加:
-WindowStyle Hidden -Command “Start-Process ‘C:\Path\To\App.exe’ -Priority High”
条件/設定タブは任意(バッテリー時は実行しない等を調整)
OKで保存 → ログオフ/再サインインで動作確認。
メリット:UACや権限を含め、再現性が高い。
コツ:アプリが別ランチャー経由で起動する場合は、後述の「起動後に書き換え」スクリプトと併用。
方法④:スタートアップに“高優先度バッチ”を置く(簡単・軽量)
メモ帳で以下を保存(例:
AppHigh.bat)
@echo off
start “” /High “C:\Path\To\App.exe”置き場所:
C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupサインインで自動実行。
注意:管理者権限が必要なアプリだとUACが出る場合あり。
安定化の工夫:ランチャー→本体アプリの起動に時間差がある場合は、バッチにtimeout /t 5等の待機を入れる。
方法⑤:起動後に優先度を書き換える(プロセス名を監視)
ランチャーから本体が立ち上がる等、「どの実行ファイルが最終プロセスか分かりにくい」ケースに有効。
PowerShellスクリプト例(対象を“常にHigh”)
この
.ps1をタスク スケジューラで「ログオン時」に実行すると、対象が起動していれば後から上書きできます。ランチャー→本体の遅延に合わせて*
Start-Sleepを適宜調整。
実例テンプレ
例1:Adobe Premiere Proを“AboveNormal”でショートカット起動
例2:ゲームを“High”+引数付きで起動(バッチ)
例3:複数ソフトをまとめて“Low”に落とす(マルチタスク安定化)
CPUアフィニティとの違い(混同しがちポイント)
優先度:CPUスケジューリング上の“順番の強さ”。
CPUアフィニティ:どのCPUコアを使うかの割当。
まずは優先度だけで十分なことが多いです。アフィニティ調整は効果検証が必須。
PowerShellの
Start-Process単体ではアフィニティ直接指定は不可のため、WMI/APIや外部ツールを使う上級テクになります。
なぜ優先度は勝手に戻るのか
Windowsのスケジューラは、新しく起動したプロセスに既定の優先度(通常はNormal)を与えます。
タスクマネージャーで変更した設定はそのプロセスの“今この瞬間”にのみ有効で、プロセスが終了して次に起動したときは再び既定に戻ります。
したがって“固定化”には起動経路そのものを工夫する必要があります。
うまくいかないときのチェックリスト
UAC/権限:管理者権限が必要?(タスクの「最上位の特権で実行」をON)
パスの引用符:スペースを含むパスは
'...'または"..."で囲む。実行ポリシー:PowerShellがスクリプトを拒否する →
Get-ExecutionPolicyで確認必要なら自己責任で
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
セキュリティ/アンチチート:一部ゲームや企業PCでは外部からのプロセス操作を禁止。規約やポリシーに従う。
Realtimeは非推奨:キーボード/マウス遅延やOS全体のもたつきが起きうる。
プロセス名の違い:表示名と実行ファイル名が異なる場合あり(
Get-Processで正確な名前を確認)。
FAQ
Q1:タスクマネージャーだけで永続設定できませんか?
A:できません。再起動・再実行のたびに既定へ戻る仕様です。起動経路(ショートカット/スケジューラ/スクリプト)の設計が必要です。
Q2:安全なおすすめレベルは?
A:まずは AboveNormal、次に High。Realtimeは基本NGです。
Q3:すべての常駐を一括で下げたい
A:PowerShellで対象名の配列を回すのが現実的。影響範囲が広いので段階的に適用を。
Q4:ランチャー経由のアプリで効かない
A:ランチャーではなく本体プロセスに対して適用する必要があります。方法⑤(起動後の書き換え)を併用してください。