私は非常にCPUとIOを集中的に使用するスケジュールされたタスクを実行しており、実行に約4時間かかります(興味がある場合はソースコードをビルドします)。タスクは、さまざまなサブプロセスを生成して処理を実行するPowershellスクリプトです。同じユーザーアカウントでPowershellプロンプトから対話的に同じプロセスを実行すると、約2時間半で実行されます。タスクはWindows Server 2008 R2で実行されています。
私が知りたいのは、スケジュールされたタスクとして実行するのに非常に長い時間がかかる理由です-1時間以上長くなります。私が気づいたことの1つは、タスクスケジューラが標準以下の優先度で実行されるため、タスクが開始されると、同じ優先度の低い優先度を継承することです。ただし、Powershellプロセスの優先度を標準に戻すようにスクリプトを更新しましたが、それでも同じくらい時間がかかります。
誰もが2つのシナリオ間で何が違うのか考えていますか?プロセッサとIOの負荷の違いを除外しました-このタスクはシステムが使用する唯一のものであるため、リソースを奪い合う可能性のある他の実行はありません。