jeff 发表于 2007-10-29 22:12:04

如何确定导致问题的原因

当你遇到问题时,首先要做的是找出导致问题的程序和设备部件:

●如果遇到下述征兆之一,或许是因为硬件问题(如内存、主板、CPU或硬盘)或内核问题:

1.键盘不工作。正常情况下可通过按Caps Lock建进行检查。如果Caps Lock的点亮状态未改变,就需要更换键盘(在此之前,应尝试重启计算机,并检查与键盘相连的所有电缆)。

2.鼠标指针不移动。

3.机器未对远程机器的Ping命令做出应答。

4.与MySQL无关的其他程序工作不正常。

5.系统意外重启(有问题的用户级程序应不能使系统出现严重问题)。

在该情况下,应检查所有的电缆并运行某些诊断工具,对你的硬件进行检查!此外,还应检查是否有能够解决问题的、适用于你的操作系统的补丁、更新或服务包。请检查所有的库(如glibc)是否是最新的。

使用配备ECC内存的机器以便尽早发现问题总是个好主意。

●如果键盘已锁定,可从另一台机器登录到你的机器,并执行kbd_mode –a,或许能恢复。

●请检查系统的日志文件(/var/log/messages或类似物)以找出问题的原因。如果你认为问题出在MySQL中,应检查MySQL的日志文件。

●如果你不认为存在硬件问题,应尝试找出导致问题的原因。请使用top、ps、任务管理器或类似程序,以检查哪个程序占用了所有CPU时间或锁定了机器。

●使用top、df或类似程序检查是否内存不够、磁盘空间不足、文件描述符缺乏、或其他关键资源缺少。

●如果问题是失去控制的进程,应尝试杀死它。如果杀不死进程,或许是因为操作系统中存在缺陷。

如果在检查了所有其他可能性之后,并得出结论问题是由MySQL服务器或MySQL客户端导致的,应创建提供给我方的邮件列表或支持团队的缺陷报告。在缺陷报告中,请详细描述系统的行为,以及你认为发生了什么情况。+3.

还应阐明为什么你认为是MySQL导致了问题。请考虑本章介绍的所有情况。准确阐明当你检查系统时问题是如何出现的。对于程序和日志文件的任何输出和错误消息,请使用“复制和粘贴”方法。

尽量详细描述不工作的程序,以及你所见到的所有征兆。我们过去收到过很多仅说明“系统不工作”的缺陷报告。这不会为我们提供有助于解决问题的信息。
如果程序失败,了解下述信息总是有用的:

●有嫌疑的程序是否出现了分段故障(是否转储内核)?

●程序是否占用了所有可用的CPU时间?用top.进行检查。让程序运行一段时间,或许能简单地评估某些事是否是计算密集性的。

●如果问题是因mysqld服务器导致的,使用mysqladmin -u root ping或mysqladmin -u root processlist是否能获得服务器的响应?

●当你尝试连接到MySQL服务器(例如,mysql)时,客户端程序给出的信息是什么?客户端是否堵塞?是否获得了来自程序的任何输出?

[ 本帖最后由 jeff 于 2007-10-30 15:55 编辑 ]
页: [1]
查看完整版本: 如何确定导致问题的原因