※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


Windows XP 起動の高速化

Prefetch 機能

Juria's BBS Diary より転記[2007-01-21] [2005-03-25]

WinXP 以降搭載された、Windows やアプリケーションの起動を高速化するための
Prefetch 機能は、アイドルタスクとして定期的に実行されていることを最近知った。
ディスクレイアウトの最適化やデフラグ時の情報として利用される Layout.ini も
3日ごとに自動更新されるらしい。

私は、やりたい時にやりたい事をやりたいから、裏で勝手になんかやってる
Task Scheduler は大嫌い。当然、PC購入後、再インストール後、即停止させている。

んだけど、それじゃあ、せっかくの起動高速化機能の恩恵に預かれていなかった
ということになる。また、Task Scheduler や Prefetch 機能を有効にしていても、
過去にアンインストールしたプログラムの情報も残り続けるので、パフォーマンスの
低下を招く。

というわけで

1.C:\Windows\Prefetch フォルダ内のファイル(*.pf,Layout.ini)を全て
  移動または削除

2.[コントロールパネル]→[管理ツール]→[サービス]
   (または、[マイコンピュータ]右クリック→[管理]
    →[サービスとアプリケーション]→[サービス])
  [Task Scheduler]ダブルクリックor右クリック→[プロパティ]
   ・スタートアップの種類[自動]→[適用]
   ・サービスの状態[開始]→[OK]

3.Windows 再起動 3回程度(起動するに十分な情報を得るため)

4.Layout.ini を手動で作成(上記アイドルタスクを手動で即座に実行)
  「ファイル名を指定して実行」
Rundll32.exe advapi32.dll,ProcessIdleTasks

5.デフラグを実行
  Windows付属のヤツとか PerfectDisk とか、Layout.ini を参照するツールで。
  http://www.netjapan.co.jp/r/product_win/

6.2.の手順で、Task Scheduler を無効に。
  (msconfig からサービス止めてもOK)

7.レジストリエディタでPrefetchのパラメータを[2]に設定
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager
\Memory Management\PrefetchParameters

値の名前: EnablePrefetcher 
タイプ: DWORD値 
値:0=プリフェッチ無効
  1=アプリケーション起動のプリフェッチ
  2=Windowsシステムのプリフェッチ
  3=システム・アプリケーション起動ともにプリフェッチ(デフォルト)

※サブに使用しているノートPCでは、なぜか Prefetch フォルダ自体が無かったが、
 Task Scheduler のサービスを開始したとたんに作成された。
※Task Scheduler を停止しても、その時点までに作成されたプリフェッチファイルと
 Layout.ini は残り、以後更新されない。

ここまででの結果(計測にはBootVis ver.1.3.36.0 使用)

Win XP SP1(Pentium III 1GHz 256MB RAM)3年半近く使用
 システム(shell)起動完了時間 40秒・・・少し速くなったかも
 Logon + Service 起動完了時間  156秒・・・こっちの方が問題かな

Win XP SP2(AMD Athlon XP-M 2400+ 1.8GHz 768MB RAM)1ヶ月使用
1~7の内、Task Scheduler を無効のみ実施
 システム(shell)起動完了時間 26秒
 Logon + Service 起動完了時間 36秒

そして、さらに、BootVis でシステム起動ファイルの最適化を図れるはず、
だったのですが。。。

BootVisの失敗 につづく

Prefetch 追加補足

Juria's BBS Diary より転記[2007-01-21] [2005-05-02]

Windows起動の高速化だけなら、
上記の7.レジストリエディタで Prefetch のパラメータを [2] に設定
を一番にしておく。
その後で1~4を行えば、作成されるのはシステムブート時のログ、
NTOSBOOT-B00DFAAD.pf とその Layout.ini のみであり、ブート時には
アプリケーションのプリフェッチファイルは参照されていない模様。

アプリケーション起動高速化のためのプリフェッチがいつどのように行われている
のかは分からないが、もし、特定のアプリの起動を高速化したいなら、
EnablePrefetcher パラメータを [3] にして目的のアプリを起動、
プリフェッチファイルと Layout.ini を作成してから、Task Scheduler を無効に。
効果のほどは不明。

いずれにしても、デフラグを最後に。


-