Windows XPの最適化

序文

Windows XPの標準設定には,システム・パフォーマンスに関して多くの無駄が存在する。あらゆる設定を見直せば,何もしていない状態に比べて2~10倍の高速化,メモリ・リソースの節約が可能だ。本テキストではWindows XPのパフォーマンスを改善し,普段の作業を快適にする方法について解説する。

あらかじめ断っておくが,パフォーマンスの向上・維持のためには,システムの設定を変更する以上に普段の心がけが大切である。例えば定期的にディスクのデフラグメンテーションを行い,不要なアプリケーションのインストールや常駐起動をしないことなどは有効な手段だ。また,ウイルス検出プログラムや侵入検知プログラムのようなシステムを常時監視するソフトウェアは負荷が高く,後から常駐機能を切り離すことが難しいため,インストールしないほうが良いだろう(とは言え,セキュリティには万全の体制で臨んでほしい)。

本テキストで紹介する設定には危険をはらんでいるものも含まれる。各設定は自己責任において行ってほしい。設定を変更する際には,あらかじめデータのバックアップを取ることをお勧めする。

システム全体のパフォーマンス向上

Lunaの停止

Lunaとは,Windows XPに搭載された新しいグラフィカル・ユーザ・インタフェイスのこと。その華麗なインタフェイスのためにシステムの動作速度にも非常に影響している。これを停止するには,コントロール・パネル→システムのプロパティ→詳細設定タブ→パフォーマンスの設定→視覚効果タブを辿り,パフォーマンスを優先するにチェックを入れる。次に画面のプロパティを開き,テーマをWindows クラシックに設定する。最後に管理ツールのサービスを開いて,Themesのプロパティからスタートアップの種類を無効または手動に設定し,停止させる。

デスクトップの壁紙・アイコンを削除する

壁紙を外すだけでは体感速度は望めないかもしれないが,システム起動時の読み込み時間とデスクトップの再描画にかかる時間を幾らか短縮できる。壁紙を外すには,コントロール・パネルの画面のプロパティから,デスクトップ・タブにある背景をなしに設定する。

また,上記と同様の理由で,デスクトップのアイコンもなるべく不要なものは削除しよう。

タイトルバーのグラデーションを取り除く

ウィンドウのタイトルバーのグラデーションの描画は,システムに負荷がかかっている。このグラデーションを取り除くには,画面のプロパティを開き,デザイン・タブの詳細設定からアクティブ タイトル バーと非アクティブ タイトル バーの色1と2をそれぞれ同じ色にする。

システム・フォントを変更する

ウィンドウのタイトルバーやメニューに使われるフォントは通常MS UI Gothicだが,これをビットマップ・フォント(Terminalなど)に変更すればパフォーマンスの向上が見込める。システム・フォントを変更するには,画面のプロパティを開き,デザイン・タブの詳細設定から各部分のフォントを変更する。

インデックス・サービスの停止

Windows XPではファイルの検索を高速に行うため,ファイルのインデックス付けを行っているが,そのためにシステム・パフォーマンスが低下している。この機能が必要なければ管理ツールのサービスを開いて,Indexing Serviceのプロパティからスタートアップの種類を無効または手動に設定し,停止させる。

Windowsファイアウォールの停止

Windows XPにはファイアウォール機能が搭載されているが,ルーターに同様の機能が備わっていたり,あるいはより高機能な別のソフトウェアを使用している場合など,この機能が不要であることが多い。必要なければコントロール・パネルのWindows ファイアウォールから,無効にチェックを入れる。次に管理ツールのサービスを開いて,Windows Firewall / Internet Connection Sharing (ICS)のプロパティからスタートアップの種類を無効または手動に設定し,停止させる。

不要なサービスの停止

そのほか,必要のないサービスは全て停止してしまおう。以下にWindows XPに標準で搭載されているサービスのうち,コンピュータの利用用途によっては必要ないものを挙げておく。

サービス名 不要な場合
Alerter 複数のコンピュータを管理していないとき,他のコンピュータに警告を送信しないとき
Application Layer Gateway Service インターネット接続の共有とファイアウォールを使わないとき
Automatic Updates Windowsの自動更新を利用しないとき
ClipBook クリップブック・ビューアやリモート・アシスタンスなどでリモート・コンピュータと情報を共有しないとき
Computer Browser ネットワークに接続しないとき,LANを組んでいないとき,マイ・ネットワークを利用しないとき
DHCP Client 固定IPアドレス割り当てなどでDHCPサーバからIPアドレスを取得しないとき
Distributed Link Tracking Client ネットワーク・ドメイン内またはコンピュータのNTFSボリューム間のリンクの自動追跡を利用しないとき,ドメインに参加していないとき,NTFSを利用しないとき
DNS Client DNSキャッシュを利用しないとき
Error Reporting Service Microsoftにエラー報告をしないとき
Fast User Switching Compatibility 簡易ユーザー切り替えを使用しないとき,複数のユーザ・アカウントを作成しないとき
Help and Support オンライン・ヘルプとサポート・センターを使用しないとき
Human Interface Device Access キーボード,リモート制御やマルチデバイスなどのホット・ボタンを利用しないとき
IMAPI CD-Burning COM Service CD書き込み機能を利用しないとき
Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS) インターネット接続の共有とファイアウォール機能を利用しないとき
IPSEC Services ドメインに参加していないとき,VPNなどの暗号化通信を利用しないとき
Messenger ドメインに参加していないとき,警告メッセージを送受信しないとき
MS Software Shadow Copy Provider NTBACKUPを利用しないとき,Volume Shadow Copyサービスを利用しないとき
Net Logon ドメインに参加していないとき,ユーザ認証にパススルー認証を使用しないとき
NetMeeting Remote Desktop Sharing NetMeeting経由でのリモート・デスクトップ機能を使用しないとき
Portable Media Serial Number ポータブル・メディア・プレイヤを利用しないとき,ポータブル・メディア・プレイヤから著作権保護情報を取得しないとき
Print Spooler プリンタを利用しないとき
Remote Desktop Help Session Manager リモート・アシスタンス機能を使用しないとき
Remote Registry リモート・ユーザがレジストリの設定を行わないとき
Removable Storage フロッピー・ディスク以外のリムーバブル・ドライブを利用しないとき
Secondary Logon ユーザ切り替えを利用しないとき
Security Center Windows XP SP2のセキュリティ・センターを使用しないとき
Server ネットワーク経由でプリンタやファイルを共有しないとき
Smart Card スマート・カードによるユーザ認証を行わないとき
Smart Card Helper プラグ・アンド・プレイではないレガシ・スマートカード読み取り装置を利用しないとき
SSDP Discovery Service UPnPデバイスを利用しないとき
System Restore Service システムの復元を利用しないとき
Task Scheduler タスク・スケジューラを利用しないとき
TCP/IP NetBIOS Helper LANを組んでいないとき,TCP/IPネットワークでNetBIOSを利用しないとき
Telephony ダイヤルアップ接続を使用しないとき(LANでネットワーク接続する場合,またはネットワーク接続をしない場合は不要)
Telnet Telnetを利用しないとき
Terminal Services リモート・デスクトップを使用しないとき
Uninterruptible Power Supply UPSを利用していないとき
Universal Plug and Play Device Host UPnPデバイスを利用しないとき
Upload Manager ネットワーク経由でファイルを共有しないとき
Volume Shadow Copy NTBACKUPを利用しないとき
WebClient インターネット・ベースのファイルを利用しないとき
Windows Image Acquisition (WIA) スキャナとカメラのイメージ取得を利用しないとき
Windows Time インターネット時刻サーバとの自動同期を利用しないとき
Wireless Zero Configuration 無線LANを使用していないとき

Beepサービスを停止する

Windows 2000以降,ユーザに注意を促すためのBeep音はサービスとして提供されている。この機能を停止するには,管理ツール→コンピュータの管理→デバイス マネージャを辿り,表示メニューから非表示のデバイスの表示を選択,プラグ アンド プレイではないドライバにあるBeepのプロパティを表示し,ドライバ・タブからスタートアップの種類を無効に設定する。必要に応じて現在の状態の停止ボタンを押し,サービスを停止させる。

エラー報告を無効化する

Windowsではアプリケーションのエラーを常に監視している。この機能を停止するには,コントロール・パネル→システムのプロパティ→詳細設定タブ→エラー報告を辿り,エラー報告を無効にするのチェックを入れる。

自動更新を停止する

Windows XPはアイドル状態にあるとき自動的にシステムのアップデートを検出しているため,アイドル状態から復帰したときにパフォーマンスの低下を招く可能性がある。必要なければ,コントロール・パネル→システムのプロパティ→自動更新タブを辿り,コンピュータを常に最新の状態に保つのチェックを外す。Service Pack 2以降の場合は,コントロール・パネル→自動更新→自動更新タブから,自動更新を無効にするのチェックを外す。

セキュリティセンターを無効化する

Windows XP Service Pack 2でセキュリティセンターという機能が追加された。セキュリティが低下したときそれを通知してくれる機能だが,これはセキュリティに関する設定を常に監視している。この機能を停止するには,コントロール・パネルのセキュリティセンターから,セキュリティセンターからの警告の方法を変更する→警告の設定にあるすべてのチェックを外す。

ワトソン博士を無効化する

ワトソン博士とはシステムとアプリケーションの障害を監視し,記録するプログラムのこと。必要なければ,レジストリのキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebugにAutoというDWORD値を作成し,値を0にする。

日付と時刻の自動同期を停止する

定期的にインターネット上にあるタイムサーバーにアクセスして,コンピュータの時刻を正確な時刻に合わせる機能。必要なければ,コントロール・パネルの日付と時刻のプロパティから,インターネット時刻タブの自動的にインターネット時刻サーバーと同期するのチェックを外す。

休止状態を無効化する

休止状態が有効になると,メモリ領域をディスク上に確保するため,休止状態から復帰したときにパフォーマンスの低下を招く可能性がある。必要なければコントロール・パネル→電源オプション→休止状態タブを辿り,休止状態を有効にするのチェックを外す。

不要なDLLをメモリから削除する

アプリケーションが使用したDLLは,アプリケーションの終了などで必要なくなった場合でも,次回からの起動を高速化するためにメモリ上に読み込まれたままとなる。必要なくなったDLLを自動的にメモリから削除するようにするには,レジストリのキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ExplorerにAlwaysUnloadDLLというDWORD値を作成し,値を1にする。ただし,この設定を行うとその都度必要なDLLをメモリ上に読み込むため,アプリケーションの起動が若干遅くなる。

別の場所からコンピュータを使う機能を無効化する

Windows XPには外部のネットワークからコンピュータを操作する機能が搭載されているが,その機能を使用していなくても若干システム・リソースを消費している。必要なければ,コントロール・パネル→システムのプロパティ→リモート・タブを辿り,このコンピュータからリモートアシスタントの招待を送信することを許可するこのコンピュータにユーザがリモートで接続することを許可するのチェックを外す。

ユーザの簡易切り替えを無効化する

Windows XPではログオフせずにユーザを切り替える機能が備わっているが,その機能が若干システム・リソースを消費している。必要なければ,コントロール・パネル→ユーザアカウント→ユーザのログオンやログオフの方法を変更するを辿り,ユーザの簡易切り替えを使用するのチェックを外す。

電源を常にオンにする

Windowsでは電源設定によって一部の処理が変わるため,パフォーマンスの低下を招いていることがある。コントロール・パネル→電源オプション→電源設定タブを辿り,電源設定を常にオンに設定する。

ユーザの操作を追跡する機能を停止させる

Windows XPではユーザの操作を監視・記録している。集積されたデータは例えばスタート・メニューに表示されるプログラムの一覧を構成するためなどに使われるが,操作内容をレジストリに記録するため肥大化しがちである。この機能を停止するには,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoInstrumentationというDWORD値を作成し,値を1にする。ただし,この機能を停止するとスタート・メニューをクラシック表示に切り替えなければ,スタート・メニューのプログラムがすべて消えてしまう。スタート・メニューをクラシック表示に切り替えるには,コントロール・パネル→タスク バーと [スタート] メニューのプロパティ→[スタート] メニューを辿り,クラシック [スタート] メニューを選択する。

設定の保存を無効化する

システムの設定の保存を無効化することで,システムの起動・終了処理を高速化することができる。設定の保存が必要なければ,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoSaveSettingsというバイナリ値を作成し,値を0000 01 00 00 00にする。

システムの復元を無効にする

Windowsではシステムが破損したとき,自動的に復元を行うための復元ポイントを随時作っている。この機能はシステムの変更を監視・記録しており,パフォーマンスの低下を招いている。この機能を停止するには,コントロール・パネルの→システムのプロパティ→システムの復元タブを辿り,システムの復元を無効にするのチェックを入れる。

大容量メモリのパフォーマンスを最適化する

Windows XPではメモリの使用方法を自動的に調整するが,コンピュータの使用形態やハードウェア特性に合わせた設定を行うことでパフォーマンスを改善できることがある。これらの設定は,レジストリのキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagementで行う。

物理メモリの容量が512MB以上なら,カーネルに割り当てるメモリ領域を物理メモリのみに限定することができる。この設定によってカーネル・メモリがスワップ・アウトされないため,動作が高速に保たれる可能性がある。設定するには,DisablePagingExecutiveというDWORD値を作成し,値を1にする。

物理メモリの容量が十分にある場合,入出力に用いるバッファ・サイズを調整するとパフォーマンスが向上する可能性がある。設定するには,IoPageLockLimitというDWORD値を作成し,値を設定したいサイズにする(値はバイト単位)。一般的には4194304(4MB)程度に設定すると良い。

物理メモリをアプリケーション実行用に割り当てる(Standardファイル・システム・キャッシュ)か,優先的にファイル・システムのキャッシュに割り当てる(Largeファイル・システム・キャッシュ)かを選択することができる。規定値はStandardファイル・システム・キャッシュだが,ファイル・アクセスの多い環境ではファイル・システムのキャッシュに確保したほうがパフォーマンスが向上する可能性がある。Largeファイル・システム・キャッシュを使用するように設定するにはLargeSystemCacheというDWORD値を作成し,値を1にする。ただし,Largeファイル・システム・キャッシュではアプリケーション実行用メモリ領域がスワップ・アウトしやすくなるため,用途に合わせて慎重に選択したい。なお,Windows XPではコントロール・パネル→システムのプロパティ→詳細設定タブ→パフォーマンス→設定→詳細設定タブ→メモリ使用量から設定することもできる。プログラムを選択するとStandardファイル・システム・キャッシュが,システム キャッシュを選択するとLargeファイル・システム・キャッシュが設定される。

ダイレクト・マップ方式の2次キャッシュを採用しているプロセッサをもつコンピュータで,HALから2次キャッシュサイズを正しく取得できない場合に参照されるキャッシュ・サイズを設定することができる。設定するには,SecondLevelDataCacheというDWORD値を作成し,値を設定したいサイズにする(値はKB単位)。HALからデータを取得できず,SecondLevelDataCacheが設定されていないか,0に設定されている場合は256KBになる。プロセッサに合わせて,512KB程度に設定すると良い。なお,セット・アソシエイティブ方式の2次キャッシュを採用しているプロセッサを使用している場合は,この設定は適用されない。

スレッドを増やす

Windowsでは幾つものプロセスがスレッドごとに管理されている。このスレッドを同時に扱う数を増やすことでパフォーマンスの向上が期待できる。設定するにはレジストリのキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExecutiveにAdditionalCriticalWorkerThreadsAdditionalDelayedWorkerThreadsというDWORD値を作成し,値にそれぞれ追加で扱うクリティカル・スレッド数と遅延スレッド数を設定する。一般的には,AdditionalCriticalWorkerThreadsを5程度,AdditionalDelayedWorkerThreadsを3程度にすると良い。

ページング・ファイルの場所を変更する

ページング・ファイルの場所を,システムをインストールしたディスクとは別のドライブ(アクセス競合の少ない物理ドライブが望ましい)に変更することでパフォーマンスの向上が期待できる。ドライブを変更するには,コントロール・パネル→システムのプロパティ→詳細設定タブ→パフォーマンス→設定→詳細設定タブ→仮想メモリ→変更を辿り,ドライブを変更する。

アプリケーションの占有度を変更する

アプリケーションの占有度を用途に合わせて変更することで,パフォーマンスの向上が期待できる。占有度を変更するには,コントロール・パネル→システムのプロパティ→詳細設定タブ→パフォーマンス→設定→詳細設定タブを辿り,プロセッサのスケジュールでプログラムを選択するとフォアグラウンドのアプリケーションが優先され,バックグラウンド サービスを選択するとバックグラウンドのアプリケーションが優先されるようになる。

もし音声・映像を扱うアプリケーション(DAWやオーサリング・ツールなど)を使用する場合,それらの占有度が上がるとサウンド・カードやグラフィック・ボードの割り込みタイミングが遅れ,音声・映像と画面上の時間軸との同期にずれが生じたり,音飛びが発生したりすることがある。それを防ぐには,バックグラウンドのアプリケーションを優先する設定にすると良い。ただし,そうするとフォアグラウンドのアプリケーションの占有度が下がるため,ソフトウェアDSPのような高負荷な処理のパフォーマンスが低下する。環境に合わせた設定が必要だ。

また,この設定はレジストリから詳細に設定することも可能だ。レジストリのキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControlにWin32PrioritySeparationというDWORD値を作成し,以下に示す値に変更する。

ビットの位置 意味 データ データの意味
1-2 CPU占有時間の比率
(フォアグラウンド:バックグラウンド)
00 1 : 1
01 2 : 1
10 3 : 1
3-4 占有時間の可変 00 規定値
01 可変
10 固定
5-6 スレッドの切り替え間隔 00 規定値
01 長い
10 短い

例えば,バックグラウンドのアプリケーションを優先するには,01(5-6ビット)10(3-4ビット)00(1-2ビット)を指定するため,10進数で24となる。

エクスプローラのパフォーマンス向上

クラシック表示に切り替える

Windows XPからエクスプローラのアイコンの表示方法が若干変わり,通常の表示より負荷が高くなっている。従来のクラシック表示に切り替えるには,フォルダ・オプションの全般タブにある従来の Windows フォルダを使うのチェックを入れる。

すべてのファイルとフォルダを表示する

通常エクスプローラでは隠しファイルおよび隠しフォルダを表示しないようになっているが,アイコンを隠すために若干負荷がかかっている。すべてのアイコンを表示するようにするには,フォルダ・オプションの表示タブにあるすべてのファイルとフォルダを表示するのチェックを入れる。

フォルダの表示設定を保存しないようにする

エクスプローラではウィンドウの大きさやアイコンの表示方法などを,各フォルダごとに保存するようになっている。この機能を停止するには,フォルダ・オプションの表示タブにある各フォルダの表示設定を保存するのチェックを外す。

詳細な言語サービスを停止する

詳細な言語サービスの不具合によってエクスプローラやシェルがフリーズする(処理の遅延を引き起こす)ことがある。この機能を停止するには,コントロール・パネルの地域と言語のオプションから,言語→テキストサービスと入力言語の詳細→言語バーを辿り,詳細な言語サービスを無効にするのチェックを入れる。ただし,詳細な言語サービスを無効にすると,MS-IMEのツールバーを非表示にすることができなくなる。このツールバーを非表示にするにはIME Toolbar Eraserなどを使用する必要がある。

アイコン・キャッシュの肥大化を防ぐ

エクスプローラではファイルのアイコンをキャッシュしており,そのキャッシュが肥大化すると表示に遅延が発生する。これはキャッシュ・サイズの上限を設定することで回避できる。これを設定するにはレジストリのキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ExplorerにMax Cached IconsというDWORD値を作成し,設定したいサイズの上限を入力する(KiB単位)。一般的には300~500程度にすると良い。

ショートカット・ファイルのリンク先を探索する機能を停止させる

Windowsにはファイルのショートカットを作成し,オリジナルのファイル名を変更してもショートカットのリンク先を自動的に探すという機能が備わっているが,この機能はファイル名の変更を常に監視しており,システム・パフォーマンスを低下させている。この機能を停止するには,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoResolveTrackNoResolveSearchの2つのDWORD値を作成し,値をそれぞれ1にする。

ファイル検索でアーカイブ・ファイル内を検索しない

エクスプローラでファイルの検索を行うとアーカイブ・ファイル(ZIPおよびCAB)ファイル内も検索するため,検索に時間がかかることがある。必要なければ,ファイル名を指定して実行からregsvr32 /u zipfldr.dllおよびregsvr32 /u cabview.dllを入力・実行する。

最近使ったファイルを記録する機能を停止する

Windowsでは最近使ったファイルの名前をレジストリに記録しているため,ファイルの監視によるシステム・パフォーマンスの低下と,レジストリの肥大化を引き起こす。この機能を停止するには,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoRecentDocsMenuというDWORD値を作成し,値を1にする。

ハード・ディスク・ドライブのパフォーマンス向上

ログ管理機能を止める

Windowsではファイル・フォルダのエラーや詳細をロギングしている。この機能を停止するには,管理ツール→コンピュータの管理→サービスとアプリケーション→WMI コントロールのプロパティ→ログの収集タブを辿り,ログレベルを無効に設定する。

ファイルのアクセス日時の記録を行わない

NTFSではファイルにアクセスすると,その日時を随時記録するため,パフォーマンスの低下を招いている。これを無効化するにはレジストリのキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemにNtfsDisableLastAccessUpdateというDWORD値を作成し,値を1にする。

8.3形式のファイル名生成を行わない

NTFSでは,8.3形式の名前生成を停止することで,わずかではあるがパフォーマンスの向上が期待できる。これを停止させるにはレジストリのキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemにNtfsDisable8dot3NameCreationというDWORD値を作成し,値を1にする。この設定によって8.3形式のファイル名を使用する一部のアプリケーションが動作しなくなる可能性がある。

ドライブの自動再生を停止

ドライブにメディアが挿入されると自動的に再生するという機能は,メディアの挿入を常に監視しているため,ハード・ディスク・ドライブと光学ドライブが同じチャンネルにあるとシステム全体のパフォーマンス低下に繋がる。この機能を停止するには,管理ツールのグループポリシーから,コンピューターの構成→管理テンプレート→システムのフォルダを辿り,自動再生機能をオフにするを有効にする。このとき,対象のドライブはすべてのドライブに設定する。

また,この設定はレジストリから詳細に設定することも可能だ。ドライブの種類別に設定を行うには,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoDriveTypeAutoRunというDWORD値を作成し,以下に示す値に変更する。

設定値(16進数) CD-ROMドライブの自動再生 リムーバブル・ドライブの自動再生
91 する
95 する しない
b1 しない する
b5 しない

また,ドライブごとに個別の設定を行うには,レジストリのキーHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ExplorerにNoDriveAutoRunというバイナリ値を作成し,適当な値を設定する。この値は,下位ビットから順に各ドライブと対応しており,対応するビットが1のドライブは自動再生が無効化される。

備考

レジストリの最適化

Windowsではシステムやアプリケーションの設定をレジストリと呼ばれる膨大なデータベースに保存している。そのデータが蓄積され,レジストリが肥大化すると起動時間や処理時間の遅延が発生してしまう。また,レジストリに一旦保存されたデータは,レジストリ・エディタで削除してもキーが見えなくなるだけで,実際にはデータは残ったままとなる。そのため,時々レジストリの再編成を行って最適化したほうが良い。レジストリを再編成するツールはWindows 98/MEには標準で付属していたが,Windows XPには付属していないため,別途用意する必要がある。以下にレジストリを再編成するツールを幾つか挙げておく。

肥大化したレジストリを再編成すると大抵10~30%程度小さくなる。2回目以降の再編成ではそれほどサイズの縮小は期待できないが,こまめに再編成することで肥大化を防ぐことができる。

英語版を使用する

各国語版Windowsより英語版Windowsのほうがリソースの消費量が少なく,動作も若干高速なようだ。日本でもわりと容易に入手でき,日本語インプット・メソッドも標準で利用できるため,英語に難がなければ英語版の利用も検討したい。英語版Windowsで日本語を使うも参照のこと。

デバイス・ドライバのインストール手順に注意する

デバイス・ドライバのインストール手順が,システムの安定性やパフォーマンスに若干影響するようである。例えばIntel製チップセットを利用している場合は,Windowsのクリーン・インストール→Windowsサービス・パック(または各種パッチ)の適用→Intel Chipset Software Installation Utility→Microsoft DirectX→Intel Application Accelerator→VGAドライバ→そのほかのデバイス・ドライバという工程でインストールしていくと良い結果が得られるそうだ。詳しくはIntelが公開しているドライバのインストール手順 (845/830/820/815/810)ドライバのインストール手順 (875/865) に掲載されている。

シェルの置き換え

Windows標準のシェルにこだわっていなければ,より軽量な互換シェルに置き換えることもできる。以下に有名な互換シェルを幾つか挙げておく。