- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红帽Linux故障定位技术详解与实例
红帽Linux故障定位技术详解与实例红帽javascript:;Linux故障定位技术详解与实例是本文要介绍的内容,主要是来了解并javascript:;学习红帽Linux中故障定位技术的学习,故障定位技术分为在线故障定位和离线故障定位,一起来看详解。 1、故障定位(Debugging)场景分类 为便于描述问题,将Linux上各种软件故障定位的情形分成两类: (1)在线故障故障定位 在线故障定位(online-debugging)就是在故障发生时, 故障所处的javascript:;操作系统环境仍然可以访问,故障处理人员可通过console, ssh等方式登录到操作系统上,在javascript:;shell上执行各种操作命令或javascript:;测试程序的方式对故障环境进行观察,分析,测试,以定位出故障发生的原因。 (2)离线故障定位 离线故障定位(offline-debugging)就是在故障发生时,故障所处的操作系统环境已经无法正常访问,但故障发生时系统的全部或部分状态已经被系统本身所固有或事先设定的方式收集起来,故障处理人员可通过对收集到的故障定位状态信息进行分析,定位出故障发生的原因。 2、应用进程故障情形及处理 应用进程的故障一般不会影响操作系统运行环境的正常使用(如果应用代码的bug导致了内核的crash或hang,则属于内核存在漏洞),所以可采用在线故障定位的方法,灵活的进行分析. 应用代码故障的情形有如下几种: (1)进程异常终止 很多用户认为进程异常终止情况无从分析,但实际上进程异常终止情况都是有迹可寻的. 所有的进程异常终止行为,都是通过内核发信号给特定进程或进程组实现的. 可分成几个类型进行描述: - SIGKILL. SIGKILL最特殊,因为该信号不可被捕获,同时SIGKILL不会导致被终止的进程产生core文件, 但如果真正的是由内核中发出的SIGKILL,则内核一定会在dmesg中记录下信息. 另外在内核中使用SIGKILL的地方屈指可数,如oom_kill_process()中, 所以通过dmesg记录并且分析内核中使用SIGKILL的代码,并不难分析原因 - SIGQUIT,SIGILL,SIGABRT,SIGBUS,SIGFPE,SIGSEGV。这几个信号在保留情况下会终止进程并会产生core文件,用户根据core中的stack trace信息,能直接定位出导致终止信号的代码位置。另外,SIGQUIT,SIGABRT一般是由用户代码自己使用的,好的代码一般会记录javascript:;日志。SIGILL,SIGBUS,SIGFPE,SIGSEGV,都是由内核中产生的,有哪些信誉好的足球投注网站内核源码,不难列出内核中使用这几个信号的地方,如SIGILL 是非法指令,可能是浮点运算产生的代码被corrupted或文本区域的物理内存corruption;SIGBUS多由MCE故障定位导致;SIGSEGV多由应用代码的指针变量被corrupted导致。对于应用的heap或stack的内存被corrupted,可用valgrind工具对应用进行profile,通常能直接发现导致corruption的代码 - SIGINT,SIGPIPE,SIGALRM,SIGTERM。这几个信号在保留情况下终止进程但不会产生core文件。对这几个信号,建议用户一定要定义一个handler,以记录产生问题的上下文。比较容易忽略的是SIGPIPE,很多用户程序在使用select()或poll()时只监听read/write描述符,不监听exception描述符,在对方TCP已经关闭的情况下,仍然向socket中写入,导致SIGPIPE。 - 对于恶意的代吗产生的进程终止行为,如合作的一些进程中,A向B发SIGKILL,而没做日志记录,或者B直接判断某条件而调用exit(),也没有做日志记录.在应用代码量很大的情况下,通过分析代码故障定位这种情形也许很难. SystemTap提供了解决这个问题的一个比较好的方法,就是写用户层的probes,追踪进程对signal(),exit()等系统调用的使用 (2)进程阻塞,应用无法正常推进 这种情况,对于单个被阻塞的进程而言,属于正常状态,但对于包含多个进程的应用整体而言,属于异常。应用无法推进,说明其中某一个进程推进的因素出现了问题,导致javascript:;其他依赖于它的进程也要等待. 分析这种情形需要分析清楚进程或事件之间的依赖关系,及数据的处理流。首先要用gdb -p 的back trace功能查出各进程阻塞的执行路径,以确定每个进程所处在的状态机的位置。 通常而言,如果只考虑各个进程的状态,则进程之间可能形成了一种互相依赖的环形关系,如(P1发请求=P2处理=P2发反应=P1再请求=P
您可能关注的文档
- 成功的OEMODM策略.doc
- Uunit5 Do you have a soccer ball 教案.docx
- 托福口语一二题 万能小句子.docx
- 教师英文简历模板.docx
- 百家姓各地读音异同.docx
- 汽车品牌英文翻译.doc
- javamail接收邮件(较全).doc
- 代码阅读报告2_涂李傲.docx
- 理解和配置 Linux 下的 OOM Killer.docx
- 教学大纲-食品专业英语.doc
- 麻醉科感染控制管理规范与实施策略.pptx
- 演出经纪人之《演出经纪实务》题库整理复习资料含答案详解【典型题】.docx
- 演出经纪人之《演出经纪实务》能力提升试题打印及完整答案详解【夺冠】.docx
- 2023年河南省信阳市负忧吴家店镇招聘社区工作者真题带题目详解.docx
- 2023年河北省邯郸市涉县龙虎乡招聘社区工作者真题附详解.docx
- 2025年江门市法院系统招聘劳动合同制审判辅助人员(42人)考前自测高频考点模拟试题及1套参考答案详解.docx
- 全国国家版图知识竞赛题库(中小学组)带答案详解(b卷).docx
- 2025年全国国家版图知识竞赛(中小学组)题库 5篇及答案详解【夺冠】.docx
- 2025年江门市法院系统招聘劳动合同制审判辅助人员(42人)考前自测高频考点模拟试题含答案详解(轻巧夺冠).docx
- 2025年江门市法院系统招聘劳动合同制审判辅助人员(42人)考前自测高频考点模拟试题含答案详解(突破训练).docx
最近下载
- RFJ01-2014 人民防空工程设备设施标志和着色标准国标 建筑图集 汇编 .docx VIP
- 喷射砼旁站监理记录表.docx VIP
- 发展党员时间节点自动生成表.xlsx VIP
- 环境风险评价课件.ppt VIP
- Q-JL J130006-2019-加速模拟大气腐蚀试验方法.pdf VIP
- 幼儿园游戏案例教研反思.docx VIP
- 新能源汽车充电站设计与建设指南.pptx VIP
- 3D打印骨科模型质量控制规范.docx VIP
- 公共营养师技能培训计划及教学大纲.pdf VIP
- 浙商证券-智微智能-001339-深度报告:智算赋能+鸿蒙共建+机器人部署三驱领航,迈向AI新纪元.pdf VIP
文档评论(0)