此种方法只适合vmvare esx管理的虚拟机。

一、设置变量

        设置linux系统参数,使得 向虚拟机发送nmi时,虚拟机可以产生panic,产生core文件:

                echo 1 > /proc/sys/kernel/unknown_nmi_panic

                echo 1 > /proc/sys/kernel/panic_on_unrecovered_nmi

         参数含义,参照内核代码文档:documentation/sysctl/kernel.txt。

二、执行死循环,让虚拟机“崩溃”

执行死循环后,虚拟机会一直运行,情况如下:

        1. 占用大量CPU:

                可以在虚拟机管理界面上,通过“报告性能”来查看CPU使用情况,CPU使用率100%。

                “右键”虚拟机 --> “报告性能” 即可将虚拟机性能导出到excel。

                

       2. ping不通该虚拟机:


三、vmdumper向虚拟机发送nmi不可屏蔽中断

       以root登陆虚拟机的管理机:

              esxcli vm process list    查看虚拟机的<world-id>

              vmdumper <world-id> nmi    向虚拟机发送nmi

       此时虚拟机会重启,并产生core文件,就可以登录虚拟机用crash分析core文件了。

参考资料:http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=2079097&sliceId=1&docTypeID=DT_KB_1_1&dialogID=448935018&stateId=0%200%20448933618


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐