トップ回答者
タスク スケジューラ で開始されるコマンドの実行速度が遅い

質問
-
Widnows2008サーバ上のファイルをWindows7クライアントからRobocopyコマンドでバックアップを採るバッチを作成しました。クライアント上でバッチをダブルクリックで実行すると15分程度で終了するのですが、タスク スケジューラに登録して指定の時間に実行されると、終了まで4時間かかりました。この違いの原因はなんでしょう?
プロセスの優先度の問題かと思い、start /realtime "バッチファイル名" をタスクマネージャに登録してみたのですが、速度に変わりありませんでした。お知恵を授けて下さい。
- 移動 Yubo. Zhang 2012年10月1日 9:23 (移動元:Windows 7 ソフトウェア)
2012年5月18日 7:07
回答
-
S.Hara さん、こんにちは。
フォーラム オペレーターの田中夢です。
私の方でも何か参考になる情報がないかと国内外のサイトを探してみたところ、タスクスケジューラから実行されたジョブが、手動で実行した場合に比べて時間がかかる現象について質問している Q&A サイトのスレッドを見つけました。こちらのスレッドによりますと、タスクスケジューラで実行させるジョブの優先度を変更することができるようですので、試してみてはいかがでしょうか?
優先度を変更する方法や、設定する優先度のレベルについて、下記にご案内するサイトに記載されていますので、ご参考までにご紹介させていただきますね。
(もしもお試しになるようでしたら、テスト環境でテストをする等、ご自身の責任でお願いしますね。)
<参考情報>
- Process runs slower as a scheduled task than it does interactively
http://serverfault.com/questions/151824/process-runs-slower-as-a-scheduled-task-than-it-does-interactively
- Setting a scheduled task process priority
http://bdbits.wordpress.com/2010/04/29/setting-a-scheduled-task-process-priority/
- TaskSettings.Priority property
http://msdn.microsoft.com/en-us/library/aa383512.aspx
こちらの情報が少しでもお役にたてば幸いです。
---------------------------------------------------------------------
日本マイクロソフト株式会社 フォーラム オペレーター 田中夢2012年5月24日 4:33 -
こんにちは、フォーラム オペレーターの星 睦美です。
田中 夢さんからの返信内容を参考にしていただけるのではないかと思いましたので
勝手ながら私のほうで[回答としてマーク] をさせていただきました。もし回答の内容に引き続き質問があれば、遠慮なく[回答としてのマークの解除] をして返信できます。
それでは、これからもTechNet フォーラムをよろしくお願いします。
日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
田中 夢さんが紹介されているのは「タスク スケジューラーから起動されるタスクの優先度が低いので、高くしましょう」というものです。そして、質問者さんは「start /realtime バッチファイル名」とすることで、タスクの優先度を上げているのではないでしょうか。もっとも、REALTIME にできるのか(REALTIME の指定が有効なのか)どうかというのは、気になりますが。…コマンドツールから起動してみましたが、「高」にはなりましたが、「リアルタイム」にはなりませんでした。
1つめの投稿にある、「I/O の優先度が下げられている」というのが気になりますね。プロセスの優先度が上がっても、I/O の優先度が下がっていれば、今回は特に Robocopy というファイル操作を行う処理ですから、実行時間が変わらないかもしれません。もっとも、I/O 優先度は、特に変更していなければ、プロセス優先度と同じに設定されます。
2つめ、WordPress の記事のコメントに、Robocopy 使用者から「4倍早くなった」という報告が上がっていますので、これは有効そうです。Jitta@わんくま同盟
- 回答としてマーク S.Hara 2012年6月6日 3:53
2012年6月1日 13:19
すべての返信
-
S.Hara さん、こんにちは。
フォーラム オペレーターの田中夢です。
私の方でも何か参考になる情報がないかと国内外のサイトを探してみたところ、タスクスケジューラから実行されたジョブが、手動で実行した場合に比べて時間がかかる現象について質問している Q&A サイトのスレッドを見つけました。こちらのスレッドによりますと、タスクスケジューラで実行させるジョブの優先度を変更することができるようですので、試してみてはいかがでしょうか?
優先度を変更する方法や、設定する優先度のレベルについて、下記にご案内するサイトに記載されていますので、ご参考までにご紹介させていただきますね。
(もしもお試しになるようでしたら、テスト環境でテストをする等、ご自身の責任でお願いしますね。)
<参考情報>
- Process runs slower as a scheduled task than it does interactively
http://serverfault.com/questions/151824/process-runs-slower-as-a-scheduled-task-than-it-does-interactively
- Setting a scheduled task process priority
http://bdbits.wordpress.com/2010/04/29/setting-a-scheduled-task-process-priority/
- TaskSettings.Priority property
http://msdn.microsoft.com/en-us/library/aa383512.aspx
こちらの情報が少しでもお役にたてば幸いです。
---------------------------------------------------------------------
日本マイクロソフト株式会社 フォーラム オペレーター 田中夢2012年5月24日 4:33 -
こんにちは、フォーラム オペレーターの星 睦美です。
田中 夢さんからの返信内容を参考にしていただけるのではないかと思いましたので
勝手ながら私のほうで[回答としてマーク] をさせていただきました。もし回答の内容に引き続き質問があれば、遠慮なく[回答としてのマークの解除] をして返信できます。
それでは、これからもTechNet フォーラムをよろしくお願いします。
日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
田中 夢さんが紹介されているのは「タスク スケジューラーから起動されるタスクの優先度が低いので、高くしましょう」というものです。そして、質問者さんは「start /realtime バッチファイル名」とすることで、タスクの優先度を上げているのではないでしょうか。もっとも、REALTIME にできるのか(REALTIME の指定が有効なのか)どうかというのは、気になりますが。…コマンドツールから起動してみましたが、「高」にはなりましたが、「リアルタイム」にはなりませんでした。
1つめの投稿にある、「I/O の優先度が下げられている」というのが気になりますね。プロセスの優先度が上がっても、I/O の優先度が下がっていれば、今回は特に Robocopy というファイル操作を行う処理ですから、実行時間が変わらないかもしれません。もっとも、I/O 優先度は、特に変更していなければ、プロセス優先度と同じに設定されます。
2つめ、WordPress の記事のコメントに、Robocopy 使用者から「4倍早くなった」という報告が上がっていますので、これは有効そうです。Jitta@わんくま同盟
- 回答としてマーク S.Hara 2012年6月6日 3:53
2012年6月1日 13:19