こんにちは、阿久津です。以前どこかで述べたように、Surface RTとSurface初代モデルの2台を購入した筆者は、前者を家人に譲り、後者を自身のサブマシンとして使っています。Surface RTにはタッチカバーを取り付けて渡しましたが、Microsoft Wordによる文書作成が多い家人は「指が痛くなる」と不満を口にすることもしばしば。

そこで、Surfaceに取り付けていたタイプカバーを貸したところ、Surface RTではまったく認識しません。再びSurfaceに取り付けると問題なく動作します。不思議に思った筆者は、Surface RTとタイプカバーを動作検証してみました。

まずはトラブルの再現ということで、Surface RT+タイプカバーで起動してみると、今度は何ら問題なく動作します。デバイスマネージャーを確認したところ、「Surface Touch Cover Filter Device」ではなく、「Surface Type Cover Filter Device」に切り替わっていました。念のためタイプカバー2も別途購入して試しましたが、動作に違いはありません(図01~02)。

図01 Surface+タッチカバーの状態。デバイスマネージャーには「Surface Touch Cover Filter Device」が連なります

図02 こちらはSurface+タイプカバー2の状態。デバイス名はタイプカバーと同じ「Surface Type Cover Filter Device」でした

察するに更新プログラムのダウンロードなど、高負荷の状態でデバイスを変更したため、Windows Update経由でタイプカバー用のデバイスドライバーをダウンロードできなかったのでしょう。Surface RTの環境をよくよく確認したところ、Windows 8.1 Updateも未適用状態でしたが、Windows Update経由における更新プログラムのダウンロードは遅々として進みません。

タスクマネージャーで確認したところ、ストレージ(SSD)に対する負荷は90~100%。これではデバイスドライバーの更新が行われず、タイプカバーを認識しないのも当たり前でしょう。「マイクロソフトコミュニティ」を読むとWindows 8.1でタイプカバーが使えなくなるトラブルが報告され、Microsoftもトラブルシューティングページを用意しています。

今回筆者の環境では、大きなトラブルもなく問題解決に至りました。Surfaceシリーズはさらにファームウェアの更新も伴いますので、トラブルが多発しているユーザーはSurface RTアップデート履歴Surfaceアップデート履歴を確認する習慣を付けましょう。

さて、ゴールデンウィークの谷間に掲載する本稿では、普段とは少々違ったチューニングをお届けしましょう。

Windows 8以降のタスクマネージャーは、PC初心者に優しい「標準」と、より詳細な情報を確認するための「詳細」の2つの表示形式を用意しています。後者の<スタートアップ>タブには、スタートアッププログラムが列挙されますが、ここでアプリケーション自動起動の有効/無効を切り替えられます。今回注目するのは「スタートアップへの負荷」という項目。こちらはどのような基準で「負荷が高い」と判断しているのでしょうか(図03)。

図03 「タスクマネージャー」の<スタートアップ>タブ。アプリケーションに応じて「スタートアップへの負荷」が示されます

ヘルプによれば「スタートアップ時に計測され、再起動するたびに更新されるCPUとディスクの活動による負荷の度合い」と説明されています。さらに負荷の種類として「高」「中」「低」「未計測」「なし」の5種類が存在します。

「高」はディスクI/OやCPU時間のいずれかが、1,000ミリ秒以上もしくは3MB以上発生する際に分類されます。「中」は各要素が300~1,000ミリ秒以内もしくは3MB未満の時に分類。「低」はCPU時間が300ミリ秒未満、もしくはディスクI/Oが300KB未満の場合に分類されるという仕組みです。

スタートアップ時の計測結果は「%SystemRoot%\System32\wdi\LogFiles」フォルダーにパフォーマンス分析トレースファイル(拡張子 .etl)として格納され、「Windows Performance Analyzer」で確認可能。同アプリケーションはWindows Visual StudioもしくはWindows ADKに含まれています(図04~05)。

図04 パフォーマンス分析トレースファイルを格納する「%SystemRoot%\System32\wdi\LogFiles」フォルダー

図05 「BootCKCL.etl」ファイルを「Windows Performance Analyzer」で開いた状態。自動スタートアップに登録しているアプリケーションの負荷がわかります

もっとも、Windows Performance Analyzerはソフトウェア開発に慣れたユーザーでなければ、どのような情報が格納されているかピンときません。さらにタスクマネージャーの「スタートアップの負荷」はパフォーマンス分析トレースファイルではなく、同ファイルを元に生成したXMLファイルを元に情報を提示しています。

XMLファイルは「%SystemRoot%\System32\wdi\LogFiles\StartupInfo」フォルダーにセキュリティ識別子を持つファイル名が付けられますので、バックアップを除く複数のファイルが存在する場合は、コマンドプロンプトから「wmic useraccount get name,sid」と実行して、自身のIDを確認してください(図06~07)。

図06 タスクマネージャーが参照するXMLファイルを格納した「%SystemRoot%\System32\wdi\LogFiles\StartupInfo」フォルダー

図07 自身のアカウントが持つSIDは「wmic useraccount get name,sid」で確認できます

これで情報を確認しやすくなりました。「iTunesHelper.exe」を例に挙げると、起動に510,464バイトのディスクI/Oが発生し、ユーザーモードで使用したCPU時間は「69041」と示されています。こちらはミリ秒なのか確認できませんが、少なくともディスクに対する負荷は軽微であることがわかりました(図08)。

図08 こちらはXMLファイルの内容。計測結果が数値で確認できます

そのため、同アプリケーションの負荷は「中」に割り振られたのでしょう。直接何かの役に立つ話ではありませんが、Windowsを詳しく知るというスタンスで紹介しました。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus