パソコンにあれやこれやアプリケーションをインストールしていると、ある日突然OSの起動が遅くなるときがあります。
その時は今までの経験と勘で対処してましたが、今回は専用ツールを使ってどのプログラム、または、サービスがOSの起動を遅くしているのかを調査してみました。
今回使う調査ツールはWindows7向けWindows Performance Toolkit(WPT)で、MS純正プログラムです。
XPなどはBootVisなどを使うようですので、お間違えなきよう。
WPTを使って何をどうしたいか
★対象
Lenovo ThinkPad T420(Windows7 64bitOS、メモリ8GB、SSD128GB)
★症状
ログイン後、デスクトップ画面が出るまでが結構遅い(HDDよりは速い)
★作業
デスクトップ画面が表示させるのを遅くしているサービス・プログラムを突き止める
まずはWindows7SDKをインストール
WPTはWindows7SDKに入っていますので、まずはダウンロード&インストールしましょう。
WPTをインストール
Windows7SDKインストール後、すべてのプログラム一覧から下記のInstall Windows Performance Tool Kitをクリックし、WPTをインストールします。
WPTの使い方
http://www.atmarkit.co.jp/fdotnet/chushin/vsperf_01/vsperf_01_01.html
WPTのxbootmgrコマンドを使ってトレースする
OS起動時に開始されるサービスやプログラムの状況を把握するためには、WPTのxbootmgrコマンドを使います。
コマンドは下記のとおりです。
xbootmgr -trace boot –prepSystem
xbootmgrを実行するときの注意事項があります。
- コマンド実行後、7~8回再起動を繰り返すので事前にプログラムを終了させておく
- ログインパスワードを事前に外しておくと楽
- WPTが完了するまで15分以上かかるので、気長に待つ
下記画像はxbootmgrのヘルプです。
xbootmgrの結果ログを見てみる
実践したパソコンはWindows7 64bitですので、下記パスにログが残っています。
C:\Program Files\Microsoft Windows Performance Toolkit\boot_BASE+CSWITCH_1.etl
xbootmgrの結果ログはxperfview.exeで閲覧することが出来ます。
解析1:ディスクIOとサービス
上記画像はログイン処理後のディスクIOとサービスに関する内容です。
ここで大事なのは2点。
- 不要なサービスがあれば、個人の責任のもとで停止する
- 停止してはおけないサービスがあるので、停止する前にサービス内容を確認する
ディスクIOの一番負荷がかかっているあたりのサービスを見ると、どれも必要そうなものばかり。
しかし、中には自分がインストールしたプログラムで不要そうなサービスが数個見つけることができました。
例として、Cyberlink PowerDVDのサービス。製品自体はいいんですが、サービスは正直邪魔ですね・・・
解析2:ディスクIOとプログラム
上記画像はディスクIOとプログラムに関する内容です。
この結果から、インストールしたプログラムがどのくらい起動の邪魔をしているのかを確認することができます。
※各プログラムを1つずつチェックしていくのは面倒ですが・・・
今回分かったのは、下記プログラムは起動を遅くする原因の一つです。
※WPTを使わなくても分かってたんですけど・・・
- BTTray.exe
- Dropbox.exe
- IAStorDataMgrSvc.exe
- IAStorIcon.exe
- lastapp_x64.exe
- ObjectDock.exe
- ObjectDockTray.exe
ではどうやってOSの起動速度を少しでも改善させるか?
WPTを使ってOSの起動速度を低下させているサービス・プログラムのあたりがついたところで、起動速度を改善させるか方法を考えてみました。
- スタートアッププログラムの無効or削除
CCleanerやmsconfigなどを使ってスタートアッププログラムの無効、または、削除を行います。
対象は、自分でこれは使わんだろ!と判断したプログラムです。 - スタートアッププログラムの開始遅延
StartupExなど任意のスタートアッププログラムを遅延させて開始するツールです。
起動時間と起動プログラムを設定して、まとめて起動させます。 - サービスの停止(要注意)
不要なサービスを停止しましょう。
※自己責任のもとに行いましょう。 - サービスの開始遅延
通常サービスから2分後に開始遅延できます。
※サービスによって依存関係から開始遅延できないものがあります。
チューニングの結果、約5sec速くなりました!
チューニングの結果、デスクトップ画面が表示されるのが約5sec速くなりました。
画像左がチューニング前、右がチューニング後。
やはりスタートアッププログラムの開始遅延をしたのが一番効いているみたいですね。
StartupExを導入し、本体が起動してから30秒後に各種プログラムを開始するようにしています。
※StartupExですが、私の64bit環境では問題なく動作しています。
今まで経験や勘で行なっていたチューニングが、WPTを使うことで論理的にチューニングすることができました。
調査するのに十数分かかりますが、ただ闇雲に作業をしておかしくするよりはいいと思います。
結果5sec速くなりましたし。
チューニングする・しないに関わらず、どのプログラムがどのように動作しているのかを把握するだけでもやる価値はあると思います。
今回行ったパソコンは現行モデルです。
古いパソコンの場合、今回のやり方でもOSの起動速度を改善するのが難しい場合があります。
ですので、その場合はHWやOSの見直しをすることをオススメします。
- 新しいパソコンに買い換える
オススメはLenovo ThinkPadシリーズですね。頑丈でいいですよ!
- SSDを導入する
HDDに比べてお高いSSDですが、今までのパソコンが見違えるほど速く動作する可能性があります。
- メモリを増設する
一番手軽ですね。メモリはデスクトップ、ノートで規格が異なるのでよく確認してから購入しましょう。
- Windowsに見切りをつけてUbuntuなど他OSを使う
本末転倒ですが、UbuntuやChromeOS、USBから起動できるChromeOS-Limeなどを検討してみましょう。