131109 32GBの完全メモリダンプと200MBのシステムログ
[PCのメモリダンプをソフトウェアサポートに提出]
半年前の話。ESET Smart Securityというセキュリティソフトを使っている環境でx-アプリというメディアプレーヤーを起動するとPCの動作が頻繁にフリーズするという問題があった。販売元のキヤノンITソリューションズに問い合わせたところ、問題発生時のPCの状況を知りたいので、システムログや完全メモリダンプなどを取得して送って欲しいという。
システムログは、Process Monitorを使ってプロセスのファイルI/Oについてログを取っている状態で、問題の症状を発生させる。このログファイルが約200MBほど。
完全メモリダンプの取得にはサポートから送付されたツールを使った。そのツールで設定を施すと、特定のキーを押したときに強制的にブルースクリーンを引き起こすというもの(実体はレジストリをいじくっているだけなので、Windowsに用意されている裏機能だと思う)。そのブルースクリーン発生時にWindows標準の機能として完全メモリダンプファイルが作成される。問題の症状が起きている状態でブルースクリーンを起こして、ダンプファイルを作る。完全メモリダンプを作るには同サイズ以上の仮想メモリが必要。私のPCはメインメモリが32GBあるので、仮想メモリ32GB+ダンプファイル32GBで、計64GB以上の空きHDD容量が必要なわけだ。しかし、システムドライブがSSDなのでもともとの空き容量が少なく、データを一時的に外付けドライブに移動させて容量を空ける作業が大変だった。
ダンプファイルは破損していることがあるので、ツールを使って破損チェックをして欲しいという。その手順がまた少し面倒。Debugging Tools for Windowsをダウンロード・インストールして、それに含まれているdumpchkというツールをコマンドプロンプトで実行してその結果をテキストファイルに保存するとのこと。dumpchkコマンドの実行結果はだいたいこんな内容。
Microsoft (R) Windows Debugger Version 6.2.9200.20512 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Loading Dump File [j:\memory.dmp] Kernel Bitmap Dump File: Full address space is available Symbol search path is: srv*j:\symbols*http://msdl.microsoft.com/download/symbols Executable search path is: Windows 8 Kernel Version 9200 MP (4 procs) Free x64 Product: WinNt, suite: TerminalServer SingleUserTS Built by: 9200.16496.amd64fre.win8_gdr.130108-1504 Machine Name: Kernel base = 0xfffff803`75289000 PsLoadedModuleList = 0xfffff803`75552a80 Debug session time: Mon Apr 8 18:59:47.390 2013 (UTC + 9:00) System Uptime: 0 days 0:03:10.140 Loading Kernel Symbols ............................................................... ................................................................ .......................................... Loading User Symbols Loading unloaded module list ........... ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck E2, {0, 0, 0, 0} Probably caused by : i8042prt.sys ( i8042prt!I8xProcessCrashDump+24f ) (以下略)
他にMSINFO32の情報やESET Smart Securityの設定情報をエクスポートして保存。ダンプファイルは計33GBほどになり、とてもDVDに焼けるサイズではない。7-Zipで圧縮して 700MB超。ぎりぎりCD-Rには収まらなかったのでDVD-Rに焼いた。ここまでの作業は結構苦労した。向こうは向こうで32GBのメモリダンプを送りつけられて、さぞ戸惑ったことだろうw
私はPCにそれなりに精通していてProcess MonitorやDebugging toolsも使ったことがあるので戸惑いはなかったが、PCに詳しくないユーザーがいきなりこういう作業をしてと言われて、とてもすんなりできるようなことではないと思うのだけど。
ちなみに、メモリダンプが役に立ったかどうかはわからないが、指摘したフリーズの問題は無事修正された。
[GTX690に触れる]
今日はGeForce GTX690に触る機会があった。10万円したブツだからさぞごっついだろうと思ったが、意外にもRadeon HD 7850とそれほど変わらない感じだった。ただ、やはり違うなあと思ったのは補助電源が8ピンx2本な点。負荷をかけたらグラボ単体で200Wほどの電力を消費するわけだから、発熱もすごいだろうなー。化粧箱のふたはマグネットで閉じるようになっていて、妙なところで豪華だと思った。あるGPU製品は付属品入れが引き出しになっていたりねw
[日々学ぶ #5]
今日は頭の体力的に余裕がないので、昨日の復習のみ。(インピーダンスの複素数表示と極座標表示、アドミタンス、コンダクタンス、サセプタンス)
11/9 B4 U930 RA