Vistaのタスクスケジューラで(ログオン時に)起動させたアプリケーションのI/O PriorityはLowに設定される。これをNormalにするには、以下の方法を行う。
1.タスクスケジューラで実行させたいタスクを設定する(タスク名はAAAとする)。
2.管理者でログインし直し、コマンドプロンプトを起動。
3.1で作成したタスクの定義をXMLファイルとして取得する。下記のコマンドを実行。
> schtasks /query /tn "AAA" /xml > output.xml
4.output.xmlの内容を編集する。
5.1で作成したタスクを一度削除する。
> schtasks /delete /tn "AAA"
6.4で編集したXMLファイルを利用してタスクを再作成する
> schtasks /create /tn "AAA" /xml output.xml
以上で完了。Process Exploreで確認すれば、I/O PriorityがNormalになっていることが確認できるはず。
余談だが、上記XMLファイルでRun Levelを指定できるがHighの設定(値は忘れた)にすると、何故かCPUの優先度が通常よりも下がる。不思議。また、I/O Priorityの設定とRun Levelの設定は同時に指定できない模様。
設定する場合は、自己責任で。
--- 追記 ---
コメントが付いたので、更新を忘れていたのでもう少し簡単な方法を追記。
1.タスクスケジューラでタスクを設定して、タスクのエクスポートを行う。
2.エクスポートしたXMLファイルを上記で記載したように編集。
3.タスクスケジューラで設定したタスクを一度、削除する。
4.2で編集したXMLファイルをインポートする。
もっと早く更新しておけばよかったですね・・・。
1 件のコメント:
優先度を通常で実行させる方法を検索していたら、こちらのブログが出てきたので試したところ解決しました。
助かりました。
他の Property はこちらでわかります。
http://msdn.microsoft.com/en-us/library/aa383512.aspx
コメントを投稿