スポンサー広告
         
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 
 

Geek
         母艦のiMacはともかく、サブで利用しているWindows7端末がやたらとブルースクリーンが出るようになった。
いろいろなアプリを入れているのが原因とはいえ、久しぶりにみたこのブルースクリーン。
ふと「仮想マシンで意図的に出せるの?」というのが気になった。

結論。できます。
ただしメモリダンプを出すためには事前にレジストリをいじっておく必要があります。
(これは物理マシンでも一緒だけれどもね。)
というわけで以下。

WindowsOS でブルースクリーン後にメモリダンプを取得するレジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
 のレジストリの下に、新たに、
 NMICrashDump(REG_DWORD)を作成。値を0x1にしておく。

 
 これでホストからNMIというものを発行すると、メモリダンプが吐き出される。
 標準であれば C直下のWindows配下に「MEMORY.DMP」が出力されるはず。

されこれで環境が整ったので今度はホスト側の設定。
ターミナルコマンドのため、まずはSSHログイン。(もちろん、SSHを有効化して)
ログイン後、
 esxcli vm process list

を押下。このホストの下で稼働している仮想マシンの一覧を出します。
 一覧がでるのでGrepしたいところだけれども、調べるべきWorld IDと仮想マシン名は同じ列にでず、
 以下のように出力されるので注意
 
 仮想マシン名
   World ID : xxxxxx
   Process ID : xxxxx
   VMX Cartel ID : xxxxx
   UUID :xxxxxxxx
   Display Name : 仮想マシン名(vCenter上の仮想マシン名?)
   Config File : (vmxファイルのパス)


このWorld ID が必要なので、これを控えておき、
 

vmdumper <調べたWorld ID> nmi

 
を実行。
 そうするとそのWorld ID の仮想マシンがブルースクリーンとなります。

で結局のところ、NMIって何?というものなのだけれども、
Non-Maskable Interruptという強制的にメモリダンプを出させるための機能?の様子

ちょっとしたサーバや端末にはこのためのスイッチがあるとかないとか・・・。
うーん。しらなかった。

参考:NMIスイッチでWindowsのシステム・ダンプを取得
VMware ESXi上の仮想マシンでNMIによりメモリダンプ作成を強制的に実行する
 070915_040535_PM.png
スポンサーサイト
 
 

関連キーワード(ユーザータグ):
VMware
仮想化
PowerCLI

トラックバック用URL ;http://gatolynx.blog100.fc2.com/tb.php/264-420e9ee5

コメントの投稿

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。