扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
您将注意到此脚本重复编译内核。原因很简单 -- 一些 CPU 有断断续续的小故障,使得它们在 95% 的时间里顺利地编译内核,但又不时地使内核编译崩溃。通常情况下,这是因为在处理器加热到一定温度(在该温度下处理器变得不稳定)之前可能进行了 5 个或更多内核编译。
在上面的脚本中,注意调整 -j 选项,使紧跟它的数字等于系统中 CPU 的数目加 1;换句话说,若是单处理器使用 "2",双处理器使用 "3",依此类推。-j 选项告诉 make 程序行平行编译内核,确保在编译每个源文件后总有至少一个 gcc 进程准备就绪 -- 确保 CPU 承受的压力达到最大。如果下午不准备使用 Linux 机器,请继续运行此脚本并让机器重新编译内核几个小时。
可能的 CPU 问题
如果脚本持续几个小时运行顺利,祝贺您!您的 CPU 已经通过了第一个测试。但是,上述脚本可能会意外死掉。如何知道是 CPU 有问题而不是其它的问题呢?如果 gcc 发出与下面类似的错误,则很有可能是 CPU 有问题:
|
这时,CPU 有三种可能的状态:
如果您输入 "make bzImage" 重新进行内核编译,并且编译器死在同一文件上,请继续一遍遍输入 "make bzImage"。如果试了大约十次之后,编译进程继续死在此特定文件上,那么问题很可能是由(很少)gcc 编译器错误引起的,该错误是由此特定的源文件而不是有问题的 CPU 触发的。但是,这些天 gcc 很稳定,那么这种情况发生的可能性很小。
如果您输入 "make bzImage" 重新进行内核编译,并且稍后得到另一个信号 11,那么您的 CPU 很可能快要无法使用了。
如果您输入 "make bzImage" 重新进行内核编译并且内核编译成功,那也不意味着您的 CPU 是好的。通常这意味着仅当 CPU 升到一定的温度以上(CPU 使用超过一定时间后会变热,可能进行过几次内核编译后能达到此临界点),CPU 故障才不时地显露出来。
濡傛灉鎮ㄩ潪甯歌揩鍒囩殑鎯充簡瑙T棰嗗煙鏈€鏂颁骇鍝佷笌鎶€鏈俊鎭紝閭d箞璁㈤槄鑷抽《缃戞妧鏈偖浠跺皢鏄偍鐨勬渶浣抽€斿緞涔嬩竴銆�