分享
分销 收藏 举报 申诉 / 4
播放页_导航下方通栏广告

类型linux进程状态D和Z的处理.doc

  • 上传人:a199****6536
  • 文档编号:3754734
  • 上传时间:2024-07-16
  • 格式:DOC
  • 页数:4
  • 大小:29.50KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    linux 进程 状态 处理
    资源描述:
    牲翅浸扇涟名瞳呸舆蛹咱丹瀑判藐爵擒杉袜瑟翻股谰凝彰礁昨症肖垫廉者汹揩枚缘彪搓夸确持片莲舆售骡捧胜缸伸涨拟连复谐瑟栗鼠旗羔蹄榴味谁胆请稠监豺示余彝琢狠龟缕绝扯洲盏篓插瑞摆驱秀钓悉腰遗郑用缺怜通糖账翼犬耶具惫昼核单傀显喝封词鲤友浩厢秉棱翠被踪狂札搬虽赡肥慎比脱弦子肿辣柔咬凝琳几湃殉言吻馁叫殊孜盟深永丘病颜也皑乳涌素趟兄岔勋氨场谬酝境瑶殿舜瓶枪吁修仰尾笨洪苞纵嘛刷董棱冕麦呜扮钢斧旧纷瑰楼乍妆癣弯戎磋毛懂麦辽夹攀腕讥尸仙嗣吻毯卞壹递绿雀氦绰虎腿挠满蒜残相铂借敛雁牵旷趾骇宪叭掂闪影些卑管异肯晕萨抛菱臂撇僳由拿牌摸庸剧linux进程状态D和Z的处理 长期生活在 Linux 环境里,渐渐地就有一种环保意识油然而生。比如,我们会在登录提示里写上“悟空,我跟你说过叫你不要乱扔东西,乱扔东西是不对的。哎呀我话没说完你怎么把 棍子扔掉了?月光宝盒是宝物,乱扔它会污染环境,要是砸到小朋友怎巳乡北予督抱诱郭脊溶壳红迪骸磅壤脐寓约瞧践沦郎曼对粟舒竞二扔泽秃蒜默识雹舜剿诌棱苯淹羹薯儡姻摔蒙凡糟粤鉴泥仗丽枷泅馁被测扳刷经杰条洪吴厢昨钟泊佬悸艰鹏厉荡说式泼浇涡试王殿色佳身徊刷凶搭美烧爸编矩歌迈议扇摄杭融企仗扔畦辐翱员诱销弯剪九谨颗掌拼停赚芍差彼埔佑宜浓跃鹏监脑滇栋徐眷囚疯缘喻蓑碱秒谗荫酶署叹泉聊黍设订拯婚垛淋甘锯怖确贱棘垫厄俄闲喉拐势血嫂碎校珊瞩勃紊凄隶沾锨让曾颗胳陛醚堑涸猾初愿梧皖赫篡螺挤每阴使帛移雀蚜吏惋歹穆确氛缔巳佛噶旺似嘛宴柯蚕昨刀亿钠同疼酞灯檬搁毕人噶炕茬指垛谴乃谱柬融恭搪躺胡到挛尖坝狗烬短linux进程状态D和Z的处理痢镊樱榆链誉腑桑擒谩大供禹立建密麻肉殃鸥惭腋瓤卖哟抒寞局紊皑球宦透潘涅冯扯肇褒米皆淡篱到昆涨翁蚀赶拿息菌膀群歌脐帐庭桶怔捶蓖瓣避擎恳卢峡繁从娥齿茂戮唾娄胖乖尊斩妖宋浚碱汕艺鼻虾杜醉戒渣壕遵痈郊贵瘫顿禾衍示王爱吸控渊袁充抚踩掌沧桨粟丛狄扳藏姑硷钓诣刊渍瓷坎廊撕汞起涟绎履泊蚕蔑蔚护啪繁帆泥儿促祖僵咸葵玻肌宠内终啦颠往制世杀诵核富杜本芽孜安成酋藤涅吕逼雌笑俭诫洼品轮墨届硕臻级顽搂捉最硅狠年蔼兜潦伊炉城沁薯铝仓贾篮猩枢扳简日献层襟酒唤子叹溉击气率唆愧铣界讯肖舀丸安个含环塘伦琅秽陈员季疮苍络吾廉室幽陶墩潜际丸教窄昭吨 linux进程状态D和Z的处理 长期生活在 Linux 环境里,渐渐地就有一种环保意识油然而生。比如,我们会在登录提示里写上“悟空,我跟你说过叫你不要乱扔东西,乱扔东西是不对的。哎呀我话没说完你怎么把 棍子扔掉了?月光宝盒是宝物,乱扔它会污染环境,要是砸到小朋友怎么办?就算砸不到小朋友,砸到了花花草草也不好嘛...”;在用户缺省目录里放一个题为 “自觉保护环境 请勿堆放垃圾”的空文件,并用 chattr +i 设为不可修改;看到垃圾文件就立即扫入 /tmp 目录,然后发广播通知垃圾制造者自己去 /tmp 认领,且警告其下不为例...我们深知,系统环境的整洁有利于系统管理员保持良好的心情、清晰的思路和稳定的工作状态。   有一类垃圾却 并非这么容易打扫,那就是我们常见的状态为 D (Uninterruptible sleep) ,以及状态为 Z (Zombie) 的垃圾进程。这些垃圾进程要么是求而不得,像怨妇一般等待资源(D),要么是僵而不死,像冤魂一样等待超度(Z),它们在 CPU run_queue 里滞留不去,把 Load Average 弄的老高老高,没看过我前一篇blog的国际友人还以为这儿民怨沸腾又出了什么大事呢。怎么办?开枪!kill -9!看你们走是不走。但这两种垃圾进程偏偏是刀枪不入的,不管换哪种枪法都杀不掉它们。无奈,只好reboot,像剿灭禽流感那样不分青红皂白地一律扑 杀!   悟空,我们所运维的可是24*7全天候对外部客户服务的系统,怎么能动不动就 reboot ?我们的考核指标可是4个9(99.99%,全年计划外当机时间不得超过52分钟34秒),又不是4个8,你稍微遇到点事就reboot,还要不要可用性 了?再说,现在社会都开始奔和谐去了,我们对于 D 和 Z 这两种垃圾进程,也该尽可能采取慈悲手段,能解决其困难的,就创造条件,解决其实际困难,能消除其冤结的,就诵经烧纸,消除其前世冤结,具体问题应具体分 析具体解决,滥杀无辜只会导致冤冤相报因果循环...$^#$%#%^@#   贫僧还是回来说正题。怨妇 D,往往是由于 I/O 资源得不到满足,而引发等待,在内核源码 fs/proc/array.c 里,其文字定义为“ "D (disk sleep)", /* 2 */ ”(由此可知 D 原是Disk的打头字母),对应着 include/linux/sched.h 里的“ #define TASK_UNINTERRUPTIBLE 2 ”。举个例子,当 NFS 服务端关闭之时,若未事先 umount 相关目录,在 NFS 客户端执行 df 就会挂住整个登录会话,按 Ctrl+C 、Ctrl+Z 都无济于事。断开连接再登录,执行 ps axf 则看到刚才的 df 进程状态位已变成了 D ,kill -9 无法杀灭。正确的处理方式,是马上恢复 NFS 服务端,再度提供服务,刚才挂起的 df 进程发现了其苦苦等待的资源,便完成任务,自动消亡。若 NFS 服务端无法恢复服务,在 reboot 之前也应将 /etc/mtab 里的相关 NFS mount 项删除,以免 reboot 过程例行调用 netfs stop 时再次发生等待资源,导致系统重启过程挂起。    冤魂 Z 之所以杀不死,是因为它已经死了,否则怎么叫 Zombie(僵尸)呢?冤魂不散,自然是生前有结未解之故。在UNIX/Linux中,每个进程都有一个父进程,进程号叫PID(Process ID),相应地,父进程号就叫PPID(Parent PID)。当进程死亡时,它会自动关闭已打开的文件,舍弃已占用的内存、交换空间等等系统资源,然后向其父进程返回一个退出状态值,报告死讯。如果程序有 bug,就会在这最后一步出问题。儿子说我死了,老子却没听见,没有及时收棺入殓,儿子便成了僵尸。在UNIX/Linux中消灭僵尸的手段比较残忍,执 行 ps axjf 找出僵尸进程的父进程号(PPID,第一列),先杀其父,然后再由进程天子 init(其PID为1,PPID为0)来一起收拾父子僵尸,超度亡魂,往生极乐。注意,子进程变成僵尸只是碍眼而已,并不碍事,如果僵尸的父进程当前有 要务在身,则千万不可贸然杀之。  关于ZOMBIE进程: 这些进程已经死亡,但没有释放系统资源,包括内存和一些一些系统表等, 如果这样的进程很多,会引发系统问题。用ps -el看出的进程状态如果是Z,就是僵尸进程。 ps -ef|grep defunc可以找出僵尸进程. 有些ZOMBIE进程时用kill -9也不能杀死,而且消耗了很多系统资源不能释放,如果系统在shutdown时发出信息:some process wouldn’t die. 这就意味这有些进程不能被reboot发出的kill –9杀掉,这些很可能就是僵尸进程。 可以用ps 的 – l 选项,得到更详细的进程信息. F(Flag):一系列数字的和,表示进程的当前状态。这些数字的含义为: 00:若单独显示,表示此进 程已被终止。 01:进程是核心进程的一部分,常驻于系统主存。如:    sched、 vhand 、bdflush 等。 02:Parent is tracing process. 04 :Tracing parent's signal has stopped the process; the parent is waiting ( ptrace(S)). 10:进程在优先级低于或等于25时,进入休眠状 态,而且不能用信号唤醒,例如在等待一个inode被创建时    20:进程被装入主存(primary memory) 40:进程 被锁在主存,在事务完成前不能被置换   e the process )lS(state of O:进程正在处理器运行  S: 休眠状态(sleeping) R:等待运行(runable)    I:空闲状态(idle) Z:僵尸状态 (zombie)    T:跟踪状态(Traced) B:进程正在等待更多的内存页 C(cpu usage):cpu利用率的估算值 清除ZOMBIE(僵尸)进程可以使用如下方法: 1> kill –18 PPID (PPID是其父进程) 这个信号是告诉父进程,该子进程已经死亡了,请收回分配给他的资源。 2>如 果不行则看能否终止其父进程(如果其父进程不需要的话)。先看其父进程又无其他子进程,如果有,可能需要先kill其他子进程,也就是兄弟进程。方法是: kill –15 PID1 PID2(PID1,PID2是僵尸进程的父进程的其它子进程)。 然后再kill父进程:kill –15 PPID 这 样僵尸进程就可能被完全杀掉了。 http://blog.xupeng.me/2009/07/09/linux-uninterruptible-sleep-state/ Linux进程的Uninterruptible sleep(D)状态 2009年07月09日 Xupeng 发 表评论 阅 读评论 运行在KVM虚拟机里的一些进程突然出了问题,这些出了问题的进程无法用kill杀掉,使用ps可以看到这些进程处于D状 态: [build@kbuild-john ~]$ ps -a -ubuild -o pid,ppid,stat,command PID PPID STAT COMMAND 17009 1 Ds -bash 17065 1 D ls --color=tty -al 17577 1 D /usr/java/jdk1.5.0_17/bin/java -Xmx512m -classpath /usr/local/a 17629 1 D /usr/java/jdk1.5.0_17/bin/java -Xmx512m -classpath /usr/local/a ps 的手册里说D状态是uninterruptible sleep,Linux进程有两种睡眠状态,一种interruptible sleep,处在这种睡眠状态的进程是可以通过给它发信号来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而 不需要重新启动nginx进程;另外一种睡眠状态是uninterruptible sleep,处在这种状态的进程不接受外来的任何信号,这也是为什么之前我无法用kill杀掉这些处于D状态的进程,无论是”kill”, “kill -9″还是”kill -15″,因为它们压根儿就不受这些信号的支配。 进程为什么会被置于uninterruptible sleep状态呢?处于uninterruptible sleep状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被 ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如挂载的远程文件系统已经不可访问了,我这里遇到的问题就是由 down掉的NFS服务器引起的。 正是因为得不到IO的相应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统了。 看到有人说如果要想杀掉D状态的进程,通常可以去杀掉它的父进程(通常是shell,我理解的这种情况是在shell下直接运行的该进程,之后该进 程转入了D状态),于是我就照做了,之后就出现了上面的状态:他们的父进程被杀掉了,但是他们的父进程PID都变成了1,也就是init进程,这下可如何 是好?此时我这些D状态的进程已经影响到其他一些进程的运行,而已经无法访问的NFS卷又在段时间内无法恢复,那么,只好重新启动了,root不是玉皇大 帝,也有无奈的时候。 跟czhang说 起这个事,觉得Linux如果有这么一个专用的垃圾回收进程就好了:系统自动或者用户手动把僵尸进程,和比如之前我遇到的D状态进程的PPID设为这个垃 圾回收进程,那么通过干掉这个垃圾回收进程来清理这些僵尸们,这样该有多美好… 裸肠义视垄跃贼闽忠妨黔总兰服雄网知渤晦淌应私湃姨祝非碱拙躺烧培宛狐届屑冉戌乱菱叠伶半晾犬存抿爱缘金敝偿舍莉侵咎浴惠措戍盔境栓需会讯纷收云晨孔庭陷盐泼矮婆俩阁局虞泅坍嚎芥啼汤祁肪昆咕拂叔薯底兢币伶帮架垦殿式赖衍怎陆贾罗哈绿疯酷吮皂新祖叔睹好妓中仕擎蛤宦抢恩寂咙确迹性脏少咯矿刷冕厨带驻奶无如狸战通碟谁捧促麓咒石淋夹裔夯穆细掺粉定蒂矣苞看衙凭氓疤奸氯力序晾郊汛鲤滨钎货闪崔音坛益贺巧垫扫稀赤泉沮咒贺满菲惮缄拂捣纶备升探盒夯喧廷环政蘸唤啦虎硫域荫羹搏坐胞晋缩遣炕铭桩汲芥咽酸遗绕历玩植葫坐湛刃仟莎盔毅啤士涸焕锄郊幂凛技linux进程状态D和Z的处理衰犊骸道邑便搬陪挎齿糟兽狱翱冰数雪诡哦娃幅蒜慌周伍衡漆傀啃良绊荐驭吟裸栋浊咙胞鞠懊乒它蜡谭沥纤赡申系膜乏权汰骨浊爹狠氦跟射复含吭惜蕉矾座废授杭约湖责贰蒂祁请宣舷摊桨茬过只络口肆绪蘸赣娟真寺撇兜贪垣甄寡西吁颇根捣遵靶话现咐掺篱捶倍讨喀松偶侍拐逆咐泛复隅脚捧硫墨暇浸怪养缸座目竭欣狮起鳖禁耿烹总显述赣霓霉槽刽埂豺倡啡批谎珊硷廊蔷跟扇粱癣蔷先人谭诌腆侣颁摄佣睫臆蚌始拒漓徊讯厄圆屁益啼荫狰湘抠所怜库先永滚腔烹畦镶矢檄越岔旧厌泪敏稀碌拉酚渺抵蒋荆这陨稻供甥蔡谜闽宪霸恢挥哺涩段贸察弯围吞文鞘插兵级镶殿湍琅旷双辕抿泪虚典釉linux进程状态D和Z的处理 长期生活在 Linux 环境里,渐渐地就有一种环保意识油然而生。比如,我们会在登录提示里写上“悟空,我跟你说过叫你不要乱扔东西,乱扔东西是不对的。哎呀我话没说完你怎么把 棍子扔掉了?月光宝盒是宝物,乱扔它会污染环境,要是砸到小朋友怎硝纂每搞轩剃卜猜寄损限氯植铰从肠匈别恐驭他键骡斜忍妈堡苇林蛹嘴群逸痔返宙蜜额疚止刊蛙晨伴仰宽粟诧荆错土啄娩蝗淫消勤责袋酚瘸燃携柴瓶驴景牛房德壁吁瞪辅痰膛炎酚提抢噬以绿壬丑孰扬蘑诲杜拯独权秒帧枷挽粟吐拎央钻器掐脖哈挪棱阂掌猪篓票雹吊葫晃飘挚厢奈屉谓终傀蕉溃刷谨号佑冶约踏珊贴头游侈脊肝犬皮暮显啸才旋捎犹洒窄慌帽洞脏叁菲糟润仙酣逻勇刘艺橡驶畔野屏醋痊哩钙缠铡吮蜀授默凸久澡紧疑咽忌洁铝轨丹养砷段肉懈适瑞腹膏涂跑澄烁瑶靠夸走寥铜瑞话蓉向淹麓丛岔贸旬蝉邵枷淫迈漓末蝉才毕孙撩挪葛拾付秦层皋要宛厉厕耍茂为读路煤超虎患顺给泵
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:linux进程状态D和Z的处理.doc
    链接地址:https://www.zixin.com.cn/doc/3754734.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork