⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000010.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;<A HREF="mailto:thhsieh.bbs@bbs.phys.ntu.edu.tw">thhsieh.bbs@bbs.phys.ntu.edu.tw</A>&nbsp;(居士),&nbsp;看板:&nbsp;Linux&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;zombie&nbsp;又来了&nbsp;<BR>发信站:&nbsp;台大物理&nbsp;冷月流苏BBS驿站&nbsp;(Tue&nbsp;Dec&nbsp;&nbsp;3&nbsp;14:17:42&nbsp;1996)&nbsp;<BR>转信站:&nbsp;sobee!netnews.ntu!news.phys.ntu!chdrv2&nbsp;<BR>&nbsp;<BR>唉!&nbsp;刚刚才弄完&nbsp;et2bdf&nbsp;的程式,&nbsp;zombie&nbsp;process&nbsp;居然又来了,我把我&nbsp;<BR>的情况描述如下,请大家帮忙看一看:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;之前我一直在测试&nbsp;et2bdf&nbsp;的程式,不断地产生与搬移那些大字型档,&nbsp;<BR>所以&nbsp;I/O&nbsp;量应该满大的吧?&nbsp;但实际上我却感觉不出硬碟有明显的动作,可&nbsp;<BR>能是读写动作大部分在&nbsp;buffer&nbsp;中进行。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;程式完程後,我想要把它放到&nbsp;1.44&nbsp;MB&nbsp;的软碟中带回家,那软碟原本&nbsp;<BR>已&nbsp;mount&nbsp;在&nbsp;/mnt&nbsp;下,当我将档案&nbsp;cp&nbsp;到软碟去,然後要&nbsp;umount&nbsp;软碟,&nbsp;<BR>由於那时我不是&nbsp;root&nbsp;,但却可以执行&nbsp;sudo&nbsp;,於是我就下&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sudo&nbsp;umount&nbsp;/mnt&nbsp;<BR>&nbsp;<BR>结果这个&nbsp;process&nbsp;居然当住不动了!&nbsp;当时我是在&nbsp;X-win&nbsp;(XFree86&nbsp;3.1.2),&nbsp;<BR>crxvt&nbsp;底下,於是我开了另一个视窗用&nbsp;ps&nbsp;-aux&nbsp;来看,发现那个&nbsp;umount&nbsp;&nbsp;<BR>process&nbsp;的&nbsp;stat&nbsp;是&nbsp;D&nbsp;(uninterrupted&nbsp;process)&nbsp;,我心□想,大概完了,&nbsp;<BR>现在系统虽然看起来还满正常的,但也许&nbsp;kernel&nbsp;内部的&nbsp;catch&nbsp;buffer&nbsp;已&nbsp;<BR>经乱掉了&nbsp;(只是猜想)。於是我用&nbsp;ctrl+alt+F2&nbsp;切到文字模式下用&nbsp;root&nbsp;login&nbsp;<BR>(&nbsp;我不敢直接离开&nbsp;X-win&nbsp;,因为照以往的经验,这麽一来所有&nbsp;X-win&nbsp;底下&nbsp;<BR>的&nbsp;process&nbsp;全部都会变成&nbsp;zombie!&nbsp;)&nbsp;,当然,以&nbsp;root&nbsp;的身分也无法用&nbsp;<BR>kill&nbsp;-9&nbsp;将那&nbsp;umount&nbsp;process&nbsp;杀掉,然後我试著&nbsp;logout&nbsp;,果然,这个&nbsp;<BR>console&nbsp;当了,我再开别的&nbsp;console&nbsp;(alt+F3)&nbsp;进去,ps&nbsp;来看,适才那个&nbsp;<BR>console&nbsp;的&nbsp;bash&nbsp;已成了&nbsp;zombie。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;现在我已确定已到了非用&nbsp;reset&nbsp;键重开机不可的地步了。根据我最近看&nbsp;<BR>书得来的知识,我推测很可能是当时&nbsp;kernel&nbsp;正在进行关键的&nbsp;buffer&nbsp;link-list&nbsp;<BR>调整的动作,理论上在进行此动作时,是不可以经由一般中断或&nbsp;swap&nbsp;等加以干扰,&nbsp;<BR>而该&nbsp;buffer&nbsp;head&nbsp;是被锁住的,要一直等到整个动作完成後,该&nbsp;buffer&nbsp;head&nbsp;<BR>才会解锁,然後&nbsp;kernel&nbsp;才会去做别的事。但很不幸的是,万一在那过程中发生&nbsp;<BR>了严重错误,像是硬体错误中断,则正在进行&nbsp;buffer&nbsp;I/O&nbsp;的&nbsp;process&nbsp;被强迫&nbsp;<BR>停了下来,则该&nbsp;buffer&nbsp;head&nbsp;便永远无法解锁,而其他正等待使用那&nbsp;buffer&nbsp;<BR>的&nbsp;process&nbsp;便进入了永久睡眠状态,上述问题就产生了。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;我的猜想是,当那&nbsp;umount&nbsp;动作正在进行时,很可能是发生了硬体的错误,&nbsp;<BR>导至整个动作被迫中断。硬体错误的来源可能有两个,一个就是这几天大家正在&nbsp;<BR>讨论的&nbsp;Intel&nbsp;Pentium&nbsp;CPU&nbsp;的&nbsp;Bug&nbsp;,我的&nbsp;CPU&nbsp;是&nbsp;Pentium&nbsp;120&nbsp;,&nbsp;/proc/cpuinfo&nbsp;<BR>的资料如下&nbsp;(按:&nbsp;这是开机时加了&nbsp;mem=nopentium&nbsp;参数之後的资料):&nbsp;<BR>&nbsp;<BR>processor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;0&nbsp;<BR>cpu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;586&nbsp;<BR>model&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Pentium&nbsp;75+&nbsp;<BR>vendor_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;GenuineIntel&nbsp;<BR>stepping&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;======&nbsp;可能有问题&nbsp;<BR>fdiv_bug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;no&nbsp;<BR>hlt_bug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;no&nbsp;<BR>fpu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;yes&nbsp;<BR>fpu_exception&nbsp;&nbsp;&nbsp;:&nbsp;yes&nbsp;<BR>cpuid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;yes&nbsp;<BR>wp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;yes&nbsp;<BR>flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;fpu&nbsp;vme&nbsp;de&nbsp;pse&nbsp;tsc&nbsp;msr&nbsp;mce&nbsp;cx8&nbsp;<BR>bogomips&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;47.82&nbsp;<BR>&nbsp;<BR>但我之前一直认为我的机器没有当&nbsp;server&nbsp;,平常只有我一个人在用,最近也很&nbsp;<BR>少跑大型的程式,因此不必要加&nbsp;mem=nopentium&nbsp;的参数。我不知道是否因为这&nbsp;<BR>个原因造成了硬体的错误。另一个硬体错误来源很可能是在那当儿我的磁片突然&nbsp;<BR>坏掉了&nbsp;(我得承认我的磁片品质不太好)&nbsp;,结果&nbsp;umount&nbsp;无法正确读写而至。因&nbsp;<BR>为&nbsp;mount&nbsp;/&nbsp;umount&nbsp;所用到的&nbsp;buffer&nbsp;是牵扯到整个系统的&nbsp;filesystem&nbsp;,一旦&nbsp;<BR>那些&nbsp;buffer&nbsp;无法解锁,那诸如&nbsp;shutdown,&nbsp;sync&nbsp;等命令一执行便会进入无限&nbsp;<BR>期的睡眠状态&nbsp;(至於为什麽&nbsp;logout&nbsp;会有问题?&nbsp;我还不知道)&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;最後没办法,我试著执行&nbsp;shutdown&nbsp;-nh&nbsp;now&nbsp;,结果系统不经由&nbsp;init&nbsp;的程&nbsp;<BR>序直接&nbsp;shutdown&nbsp;。结果,出现了以下讯息&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Killing&nbsp;all&nbsp;process&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(原文记不太清楚,但大概是这个意思)&nbsp;&nbsp;<BR>&nbsp;<BR>就停住不动了,整个系统好像锁死了一样,大概是&nbsp;umount,&nbsp;sync&nbsp;等&nbsp;process&nbsp;&nbsp;<BR>kill&nbsp;不掉吧?&nbsp;於是,我只好按下&nbsp;reset&nbsp;键,祈求上天保佑&nbsp;....&nbsp;<BR>&nbsp;<BR>系统重开之後&nbsp;(幸好没什麽损失,好在,好在&nbsp;....)&nbsp;,我回去检查那片软碟,&nbsp;<BR>在&nbsp;fdformat&nbsp;它之後,在进行&nbsp;check&nbsp;时,出现了一长串的错误讯息,内容大概&nbsp;<BR>是&nbsp;SuperBlock&nbsp;读写错误,但速度太快了,实在是看不清楚,直到我按下了&nbsp;<BR>ctrl+c&nbsp;後才停下来。看来这片软碟是不能用了。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;由此我学到一个教训,&nbsp;linux&nbsp;必须在品质确保的硬体下&nbsp;run&nbsp;才能快速稳&nbsp;<BR>定。尤其是常用软碟的使用者要注意,除了不能用品质不良的磁片以外,千万&nbsp;<BR>不能一直将软碟一直&nbsp;mount&nbsp;在档案系统上,因为有可能你在&nbsp;mount&nbsp;它时它好&nbsp;<BR>好的,等到你要&nbsp;unmount&nbsp;它时它却坏掉了,结果你的系统可能就要按&nbsp;reset&nbsp;<BR>重开了。但也有可能在你&nbsp;mount&nbsp;/&nbsp;umount&nbsp;快完成时才坏掉,那&nbsp;....&nbsp;我就不&nbsp;<BR>知道要怎麽办了。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;另外,我想知道的是,这个&nbsp;Pentium&nbsp;CPU&nbsp;Buge&nbsp;会造成什麽样情况的系&nbsp;<BR>统当掉?&nbsp;当不下&nbsp;mem=nopentium&nbsp;参数时&nbsp;kernel&nbsp;会用到&nbsp;Pentium&nbsp;CPU&nbsp;那些&nbsp;<BR>资源?&nbsp;怎麽去用?&nbsp;用了结果又如何?&nbsp;不知道有没有人有这样的经验,或者是&nbsp;<BR>那位了解&nbsp;kernel&nbsp;运作的高手可以说明一下?&nbsp;或是高诉我去看那些文件?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;不知道我以上的讨论有没有人感兴趣,或是有其他意见的,或是我有些&nbsp;<BR>地方说得不正确的,或是需要补充的,请大家尽量提出来。我是诚肯地希望&nbsp;<BR>这个版能多一些技术性的讨论,这样大家才能学得更多。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;————&nbsp;&nbsp;居&nbsp;士&nbsp;&nbsp;————&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;台大物理系&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email:&nbsp;<A HREF="mailto:thhsieh@twclx.phys.ntu.edu.tw">thhsieh@twclx.phys.ntu.edu.tw</A>&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:.冷月流苏BBS驿站&nbsp;bbs.phys.ntu.edu.tw.[FROM:&nbsp;twclx.phys.ntu.]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -