NMI(non-maskable interrupt),就是不可屏蔽的中断。

根据Intel的Software Developer手册Volume 3,NMI的来源有两个:

  • NMI pin
  • delivery mode NMI messages through system bus or local APIC serial bus

NMI通常用于通知操作系统发生了无法恢复的硬件错误,也可以用于系统调试与采样,大多数服务器还提供了人工触发NMI的接口,比如NMI按钮或者iLO命令等。

  1. 无法恢复的硬件错误通常包括:芯片错误、内存ECC校验错、总线数据损坏等等。

  2. 当系统挂起,失去响应的时候,可以人工触发NMI,使系统重置,如果早已配置好了kdump,那么会保存crash dump以供分析。有的服务器提供了NMI按钮,而刀片服务器通常不提供按钮,但可以用iLO命令触发。

  3. Linux还提供一种称为NMI watchdog的机制,用于检测系统是否失去响应(也称为lockup),可以配置为在发生lockup时自动触发panic。原理是周期性地生成NMI,由NMI handler检查hrtimer中断的发生次数,如果一定时间内这个数字停顿了,表示系统失去了响应,于是调用panic例程。NMI watchdog的开关是通过内核参数 kernel.nmi_watchdog 或者在boot parameter中加入”nmi_watchdog=1″参数实现,比如:在RHEL上编辑

vi /boot/grub/menu.lst
kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/sda nmi_watchdog=1

然后你会看到:

grep NMI /proc/interrupts
NMI: 0 0 0 0

Linux kernel笼统地把NMI分为三大类:
4. 内存校验错 mem_parity_error()
5. 总线数据损坏io_check_error()
6. 其他的全部归入unknown_nmi_error()。kernel对NMI是不能精确定位的,对故障诊断很不利,硬件驱动程序可以注册自己的NMI处理例程,kernel会在发生NMI之后通过notify_die()调用这些第三方注册的处理例程。

如何获取Kdump

  1. 装配有kdump service
  2. 配置crashkernel的grub2参数
  3. 开启kdump.service
  4. echo c > /etc/sysrq-trigger触发
  5. 之后应该能在/var/crash/下看到dump

人工触发NMI获取Kdump相关推荐

  1. uniapp 扫描枪获取条码不全解决办法,vue组件,使用双向绑定,回车事件触发,获取文本不全问题

    原因分析: uniapp使用vue,双向绑定组件,在input标签loop事件循环获取文本的过程中,读取文本信息不是顺序读取,如果条码中包含了回车键,比如扫描枪,扫描文本后会追加回车键,监控文本读取还 ...

  2. NMI(非屏蔽中断) DELL iDRAC

    NMI全名Non Maskable Interrupt,在DSP等学习中解释为"不可屏蔽中断". 戴尔 iDRAC重启选择出现NMI(非屏蔽中断),不知其用途故作此笔记. 说人话: ...

  3. linux nmi,NMI是什么

    NMI(non-maskable interrupt),就是不可屏蔽的中断.根据Intel的Software Developer手册Volume 3,NMI的来源有两个: – NMI pin – de ...

  4. 触发onclick事件元素的获取

    onclick触发元素获取 自动生成元素的onclick事件 event.target返回触发事件的元素 event.currentTarget返回绑定事件的元素 <script> var ...

  5. NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s!

    <NMI watchdog: BUG: soft lockup> <kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 2 ...

  6. 知识图谱从入门到应用——知识图谱的获取与构建:知识工程与知识获取

    分类目录:<知识图谱从入门到应用>总目录 知识工程发展历史 在前面的文章中,曾介绍过早期的人工智能有一个流派称为符号主义.符号主义认为智能的本质就是符号的操作和运算.符号主义在后来几大流派 ...

  7. linux kdump 分析,利用Kdump分析内核奔溃原因(1)

    机器X  Centos 5.5 X64  hadoop +mongdb+hbase 机器内核奔溃数次,日志中均查不到详细原因 逐 打算利用kdump在奔溃时转存内存.本文介绍如何开启kdump进行内存 ...

  8. 网页授权有时候获取不到openid 的坑

     需求: 1.用户可以用微信登录,也可以用手机号码登录,不过第一次用微信的登录的时候,需要绑定手机号码. 如果用户点击微信登录并且绑定手机号码,校验通过则登录. 2.如果退出登录,再次进来选择登录方式 ...

  9. FastClick使用之trigger触发click失效

    2019独角兽企业重金招聘Python工程师标准>>> 最近为了提升web app在ios上的点击效率,使用了FastClick.js,效果很明显,基本是点击后立马有反馈.可是发现一 ...

最新文章

  1. 分布式架构的对比-EMC VMAX
  2. Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many
  3. 【问链-链改进行时】 第二课 链改的技术架构选择
  4. pomelo获取客户端IP
  5. Redhat7 Dell服务器驱动安装(Bin格式)
  6. 好程序员大数据点睛:关于HDFS的二三事
  7. 【kibana】kibana 7.* 设置中文 汉化
  8. 记一下这些资源,总有用的到的时候
  9. php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码
  10. 信号完整性Sigrity2018各组件功能介绍
  11. 报表工具分析总结报告
  12. 重庆交通大学计算机科学与技术怎么样,计算机科学与技术 大学实力哪家强?(干货)...
  13. Windows11/10
  14. Shiro的Java原生反序列化漏洞
  15. Android TextView重写onMeasure和onDraw显示无拉伸图片(含实现代码链接)
  16. Java implements和extends的区别
  17. PHP的realpath(...)
  18. 马克思主义哲学-意识观
  19. 控制iphone音乐播放器的相关函数
  20. matlab 实现dtmf 信号检测代码,基于matlab的连续DTMF信号检测的程序实现

热门文章

  1. 启明的MACD十大形态技战法1-5
  2. 泰山OFFICE技术讲座:给中文设置英文字体,会怎样
  3. 转:对历史和常识的无知
  4. 线性代数——个人理解
  5. html中的相对定位 和 绝对定位
  6. CSS元素的定位(相对定位、绝对定位、固定定位、粘滞定位)
  7. IOS连wifi一直提示密码不正确,但是密码是对的
  8. mintUI messageBox
  9. Recast Navigation
  10. Typora通过mermaid使用流程图、脑图