科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统硬件稳定性指南(上) (2)

Linux操作系统硬件稳定性指南(上) (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Linux 负有盛名的特点之一是其非凡的稳定性。然而,如果您的硬件有缺陷或配置不正确,即使是世界上最稳定的操作系统也不会对您有什么帮助。

作者:Daniel Robbins 来源:IBM 2007年10月19日

关键字: 稳定性 硬件 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件

您将注意到此脚本重复编译内核。原因很简单 -- 一些 CPU 有断断续续的小故障,使得它们在 95% 的时间里顺利地编译内核,但又不时地使内核编译崩溃。通常情况下,这是因为在处理器加热到一定温度(在该温度下处理器变得不稳定)之前可能进行了 5 个或更多内核编译。

在上面的脚本中,注意调整 -j 选项,使紧跟它的数字等于系统中 CPU 的数目加 1;换句话说,若是单处理器使用 "2",双处理器使用 "3",依此类推。-j 选项告诉 make 程序行平行编译内核,确保在编译每个源文件后总有至少一个 gcc 进程准备就绪 -- 确保 CPU 承受的压力达到最大。如果下午不准备使用 Linux 机器,请继续运行此脚本并让机器重新编译内核几个小时。

可能的 CPU 问题

如果脚本持续几个小时运行顺利,祝贺您!您的 CPU 已经通过了第一个测试。但是,上述脚本可能会意外死掉。如何知道是 CPU 有问题而不是其它的问题呢?如果 gcc 发出与下面类似的错误,则很有可能是 CPU 有问题:

  
  gcc: Internal compiler error: program cc1 got fatal signal 11
  

这时,CPU 有三种可能的状态:

如果您输入 "make bzImage" 重新进行内核编译,并且编译器死在同一文件上,请继续一遍遍输入 "make bzImage"。如果试了大约十次之后,编译进程继续死在此特定文件上,那么问题很可能是由(很少)gcc 编译器错误引起的,该错误是由此特定的源文件而不是有问题的 CPU 触发的。但是,这些天 gcc 很稳定,那么这种情况发生的可能性很小。

如果您输入 "make bzImage" 重新进行内核编译,并且稍后得到另一个信号 11,那么您的 CPU 很可能快要无法使用了。

如果您输入 "make bzImage" 重新进行内核编译并且内核编译成功,那也不意味着您的 CPU 是好的。通常这意味着仅当 CPU 升到一定的温度以上(CPU 使用超过一定时间后会变热,可能进行过几次内核编译后能达到此临界点),CPU 故障才不时地显露出来。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章