不稳定性的诸多原因
稳定性问题通常不是由有缺陷的硬件所引起的,但硬件配置不当或选择异常的驱动程序会造成这类问题。当我试图在 Linux 下让我的帝盟 Viper V550(一种基于 NVIDIA TNT 芯片的 AGP 图形卡)使用 NVIDIA 自己的加速驱动程序时,就开始了这方面的经历。
NVIDIA 有它们自己的 Linux 显示驱动程序,它们是 NVIDIA、SGI 和 VA Linux 的合作结晶。与包括在 Xfree86 4.0 中的标准的仅 2D NVIDIA 驱动程序相比,这些驱动程序有许多优越之处。例如,它们有完全加速的 3D 支持。而且,这些驱动程序的特色是以 OpenGL 1.2 为实现,而不只是 Mesa 的增强版。所以,总而言之,若您有基于 NVIDIA 的图形卡,则这些加速驱动程序是您希望使用的,至少理论上如此。我让这些驱动程序正常工作的尝试,最终转变成一次极佳的学习经历,至少可以这么说。
在安装完加速 Linux NVIDIA 驱动程序之后(请参阅本文后面的 参考资料),启动 Xfree86,开始摆弄所有 3D 应用程序,现在,有应该有的出色加速。到那时为止,以前我必须重新引导到 Windows NT 才能利用 3D 加速。现在,虽然我不介意 NT,但必须重新引导才能使用 3D 应用,就有点让人恼火了,我非常高兴又少了一个要离开 Linux 而重新引导机器的原因。然而,在大约摆弄了一小时左右,我对于Linux 3D 渴望,经历了一次致命挫折 -机器死锁了。鼠标完全一动不动,屏幕冻结,并且必须重新引导系统。
是的,遇到了某种稳定性问题。但我无法确切知道是什么造成这一问题。是异常的硬件,还是图形卡配置不当呢?或者可能是驱动程序有问题- 是它不喜欢基于 VIA KT133 芯片的 Athlon 主板吗?无论什么问题,我希望尽快解决它。在本文中,我将分享如何解决硬件稳定性问题的过程。虽然,您所碰到的问题不一定与这完全相同,但我用来诊断和(大多数)解决问题的步骤在本质上是大同小异的,并且也可应用到许多不同类型的 Linux 硬件问题。
首先,硬件
我首先想到,可能是异常或需要冷却的硬件。一方面,帝盟 Viper V550 好象在 Windows NT 下没有问题。另一方面,可能是 Linux 使芯片有些过载,然后引起与发热相关的死锁。V550 确实 极烫,它的 OEM 散热片似乎来不及散热。死锁和图形卡不够冷却的事实合在一起说服我转向 PC Power and Cooling(请参阅 参考资料),为我的 V550 购买了一个迷你集成的散热片/风扇。
所以,在我收到 Video Cool 后,将显示卡上的 OEM 散热片去掉(造成质保无效),清洁 TNT 芯片,然后将 Video Cool 固定在芯片上。结果呢?显示卡不烫了,但死锁仍然存在。我从这段特殊的经历所吸取的教训是-如果一开始就确定系统冷却充足,那么根本不必担心由于不充足冷却引起的元件故障。这本身就是要投入时间和精力来确保工作站和服务器凉爽运行的极佳理由。既然已经考虑了发热问题,我知道死锁问题不太可能由异常的硬件引起,并且开始查看其它地方。