现在的位置: 首页 > 综合 > 正文

Linux内核调试:vmdumper nmi,死循环调试

2018年10月02日 ⁄ 综合 ⁄ 共 773字 ⁄ 字号 评论关闭

此种方法只适合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

抱歉!评论已关闭.