システムの急速なシャットダウンを実現するための設定方法
Windowsシステムの遅いシャットダウン速度が非難されてきたが、この問題はWindows Vistaでもよく解決されていない。もちろん、これもWindowsシステム自体のメカニズムと関係があります。Windowsはシャットダウンコマンドを発行した後、まずサービス、アプリケーション、プロセスがロードされていることを通知する必要があります。シャットダウンしてからシステムのシャットダウンや再起動のタスクを行うことができます。また、シャットダウン前に行う操作にはページファイルの整理などが含まれています。ページファイル内の各ページに対して物理的な書き込み操作を実行する必要があります。理論的には、これらのプロセスは省略できません。そうしないと、システムの安定性に影響します。
システムをすばやくシャットダウンする方法そのため、ユーザーにとってWindows Vistaのシャットダウン速度を速めるには、システムの安定性を保証する前提で行う最適化は、類似のサービス、アプリケーション、またはプロセスのシャットダウンをスキップするのではなく、シャットダウン前の待ち時間をできるだけ短縮することによって行われます。では、Windows Vistaでは、どのように操作すればよいのでしょうか。
前述のWindowsシステムと同様に、レジストリ調整のオプションを変更することで実現できます。
サービス終了までの待ち時間を短縮前述したように、Windows Vistaのシャットダウンプロセスでは、システムが最初にロードされたサービスにシャットダウン警告を発行し、その後、これらのサービスが自動的にシャットダウンされた後に与えられるシャットダウン信号を待つ。設定された待ち時間期間後にシャットダウン信号が受信されない場合、Windowsシステムは対応するサービスを強制的にシャットダウンする。
Windows Vistaのシャットダウンを高速化するには、まずシステムのデフォルトのシャットダウンサービス待ち時間を短縮することで実現できます。レジストリ・エディタを開き、次のレジストリ・アイテムを見つけます。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control右パネルには、「WaitToKillServiceTimeout」というレジストリ・アイテムが表示されます。ダブルクリックして変更し、デフォルトの20000(ミリ秒単位)から5000~1000などの小さな数値に調整します。これにより、Windows Vistaが設定した5秒(5000)または1秒(1000)以内にサービス停止信号を受信しない場合、サービスが中止できないことをユーザーに通知する警告ウィンドウがポップアップされ、サービスの強制中止または待機を継続するオプションがユーザーの選択を待機します。
アプリケーションとプロセスを閉じるまでの待ち時間を短縮Windows Vistaは、サービスを停止するまでの待ち時間と同様に、アプリケーションを強制的にシャットダウンする前に、プログラムを待機したり、プロセスが自動的にシャットダウンするまでの時間があります。この時間を超えると、Windowsシステムが強制的に中止します。
そのため、デフォルトでアプリケーションをシャットダウンしたり、待ち時間を短縮したりすることで、Windows Vistaのシャットダウン速度を速めることができます。
設定方法は上記と同様で、レジストリに次のブランチがあります。HKEY_CURRENT_USER\Control Panel\Desktop
右側のパネルの「WaitToKillAppTimeout」をダブルクリックし、デフォルトの20000(ミリ秒単位)から5000または1000の小さい値に変更します。これにより、Windowsはシャットダウンコマンドを発行した後、5秒または1秒待ってもアプリケーションまたは停止信号が受信されない場合、対応する警告信号をポップアップし、ユーザーに強制的に中止するかどうかを尋ねます。右側のパネルには、ユーザーがプロセスまたはアプリケーションを強制的に閉じた後、オブジェクトに応答がない場合のシステムの待ち時間に対応する「HungAppTimeout」というレジストリ・アイテムがあります。既定値は5000で、通常は1000に変更できます。
次に、次のレジストリ・ブランチを使用します。HKEY_USERS\.DEFAULT\Control Panel\Desktop\
上記の操作を繰り返します。「WaitToKillAppTimeout」と「HungAppTimeout」の2つのレジストリ・アイテムの値を変更します。
シャットダウンまたはログアウト時にアプリケーションまたはプロセスを自動的に中止ただし、「HungAppTimeout」の値を小さく設定しても、Windows Vistaが待ち時間がそれを超えると自動的にプログラムやプロセスが中止されるわけではなく、中止するかどうかを確認するダイアログボックスが表示されます。このような方法が煩雑すぎる場合は、レジストリ項目を変更することで、Windows Vistaが待機時間を超えた後にプロセスの実行を自動的に強制的に中断することができます。
次のレジストリブランチを見つけます。HKEY_CURRENT_USER\Control Panel\Desktop registry
ユーザーの確認なしにWindows Vistaですべてのプロセスを自動的に終了させるには、「0」のデフォルト値を持つ「AutoEndTasks」というレジストリ・アイテムが「1」に変更されていることがわかります。