我が家のデスクトップPCにログオンすると、異様に遅いということが続いていた。ログオン後、デスクトップが表示されても、しばらくはディスクのアクセスが継続し、CPUは消費され、数十分は何をするにも支障があるという状況が続いていた。これでは不便だと思っていたのだが、それが本日ついに解消されたのである。
状況を詳細に書くと、ログオン後、ディスクのアクセスが数十分続き、CPUもほぼ100%を使ってしまうので、しばらくは何もできないのであった。そういう状況はいくらなんでも困るので、状況を改善しようと思い、リサーチに乗り出した。
まず気になったのは、PCの中にある大量のデータファイルであった。ログオン後、これらのファイルを調べにいって、それで時間がかかるのではないかと思っていた。これらのデータファイルは、増設したディスクドライブにあったので、それらのドライブをすべて切り離してみた。そこで、再起動し、ログオンしても、相変わらずの状況である。とすると、これらのデータファイルは関係ないことになる。
次は、どのプロセスが何をやっているのか、調べてみることにした。Windows XPのタスクマネージャで、ログオン直後のプロセスの状態を調べてみる。すると、lsass.exeというプロセスが、異様にCPUを消費し、かつディスクI/Oも消費していることが確認される。調査してみると、lsass.exeは、ログオン関連などのいくつかのサービスを受け持つプロセスであることがわかった。では、これを止めてしまえばいいのかというと、そうではないのである。止めてしまえば、Windowsはまともに動かない、重要なプロセスであった。では、止めないまでも、このプロセスが重要な位置を占めるのは間違いなさそうだ。
で、いろいろ調べてみるが、決定的な情報を得られるまでには至らないのであった。とすれば、いったんlsass.exeから目を離すしかない。それで、しばらく調べてみれば、ユーザプロファイルというところに根っこがありそうな気がしてきた。ユーザプロファイルはlsass.exeと無関係ではなく、どうやらユーザプロファイルがlsass.exeの動作に影響を与えているのでは、と思ったからだ。
ユーザプロファイルとは、ユーザのデスクトップの情報をはじめとする、ログオンするユーザのさまざまな情報を記録したものだ。こう書くと曖昧だが、実際には、\Dcouments and settings\user以下のファイルを表しているものと思えばいい。つまり、ユーザそのもののデータすべてであり、MSの言う以上の重みがあるものと思っていた方がいい。調べてみれば、ユーザプロファイルのサイズが1GB以上もあり、これをどうにかするときに異様に時間がかかっていた可能性がありそうだ(通常は、数MB~数十MBであるからだ)。
ユーザプロファイルの確認は、マイコンピュータのプロパティ、詳細、ユーザプロファイルから見ることができる。
で、思い切って、ユーザプロファイルを削除してしまうことにする。削除の方法は、確認の方法と同じである。削除ボタンがあるので、それで削除してしまえばいい。手続きはシンプルだが、かなり重みのある作業だと思うのは私だけだろうか。やってみればわかるが、ユーザプロファイルを削除すれば、マイドキュメント、デスクトップ、お気に入り、ほとんどが消失する。具体的には、\Dcouments and settings\user以下がすべて消失する。これはかなりのインパクトで、やってから慌てるということも多いだろう。
なので、ユーザプロファイルを削除する前には、データのバックアップが望まれる。削除後、もとに戻せばいいからだ。ちなみに、ユーザプロファイルは、いったん肥大すると、元に戻ることはないという。大きくなったユーザプロファイルは、実際にはファイルが減り、容量が減っても、もとのサイズを保ち続けるという。これがログオン後の動作に影響を与えるようなので、機を見て思いきって削除することも必要だろう。
削除してログオン後の動作はスッキリとしたが、あらゆる設定が失われるので、それの復旧には手間がかかる。何とか、こんな手間を踏まずとも、パフォーマンスを最適化できる方法があればいいと思うのだが。