短い答えは「いいえ」であり、ngenを確実に据え置くことはできません(試行するべきではありません)。
バッテリーのCPUサイクルを節約しようとする場合(または私の場合は、Windowsの更新後にサーバーをサービスに戻した後でサーバーがngenを実行するのを停止します)、最善のオプションは、ngenを強制的に実行することです。デスクトップPCの場合、2つのオプションが考えられます。
以下の適切なngenコマンドを使用して、デスクトップに.batまたは.ps1ファイルを作成します。ダブルクリックし、ngenが閉じるのを待ってから取り外します。代わりにWindowsフォルダーにスクリプトを作成し、それをデスクトップにショートカットする場合は、コマンドまたはPowershellプロンプトまたは実行ダイアログを使用して、必要に応じて(プラグを抜く前または更新後に)スクリプトを実行することもできます。
機能する別のオプションは、スケジュールされたタスクを使用して上記のスクリプトを実行することです。起動時に、管理者としてログオンしているユーザーなしで実行します。あなたのラップトップが夜間にアップデートをインストールすることを許可されており、再起動できる場合、これはうまく機能するはずです。
ngenを実行するには、次のコマンドのいずれか1つだけが必要です。システムに応じて、最初の/最も適切なオプションを使用してください。
.Net 4以上(64ビット)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
.Net 4以上(32ビット)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems
.Net 3以下、64ビット
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ngen.exe executeQueuedItems
32ビットで.Net 3以下
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executeQueuedItems
以下は、キューに入れられたアイテムがない場合にngenから取得する最小の出力です。
PS C:\Users\Administrator> C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
Microsoft (R) CLR Native Image Generator - Version 4.6.1586.0
Copyright (c) Microsoft Corporation. All rights reserved.
All compilation targets are up to date.
ngen.exe executeQueuedItems
を実行すると、保留中のすべてのタスクが可能な限り迅速に実行されます。通常、ngenは優先度の低いバックグラウンドスレッドで実行されます(そして明らかにランダムに開始するだけです)。これは、CPUの他のプロセスを枯渇させるべきではないという考えです。ただし、常に機能するとは限りません。ngenをインタラクティブに実行すると、バックグラウンドで実行したままにするよりも高速ですが、パフォーマンスへの影響が大きくなります。所要時間は、ハードウェアと、再コンパイルが必要なネイティブイメージの数と数によって異なります。