请教xtang,关于qnx4.25系统死机的问题

我又另新写了一个帖子,请教xtang:

我的问题:
1:在我的qnx网络中有10个节点,node1,node2…node10.
当10个节点都运行起来之后,通常来说2个月左右或者更长或者更短,很随机性的,总会有1个2个 node死机!

2:分析是dead lock造成的问题
死锁的原因可能是:
软件:共享内存,读写文件,qmessage,锁机制等等引起的?
硬件:nand flash等,因为代码总是读写文件,是否因为磁盘碎片等等问题造成的?

3:当死机的时候
死机node 鼠标,键盘不好用了,硬盘处于一直busy红灯的状态
用别的机器使用ftp ,telnet,ping等cmd 连接死机node,根本没有反应!

4:假设当node2 死机了
我在node3上进行操作,输入命令 ls //2, 也没有反应


这个现象可能是由于程序不断的消耗系统资源,导致qnx kernel crash

由于qnx4.25是个微内核机制,很不容易导致死机的,可是我的node确死机了,

请各位高人指教,说说都可能什么原因引起呢,造成这种严重的big bug。


xtang回答:
这个比较麻烦,没有特定的模式。

  1. 看看是不是硬件原因。是不是10个节点任意死机,还是死机总是发生在某几个node上?

  2. 如果是PS2键盘,可以试试按键盘上的CAPS LOCK,看键盘上的指示灯有没有变化。如果有,这告诉你内核还能正常响应中断,只是输出输入被阻住了。

3)如果是硬盘一直busy,最有可能的是驱动在中断处理中出了问题。先看看驱动有什么参数可调,然后看看有没有驱动可以升级。或是换个硬盘试试。

4)想想有什么可以纠错的方法。在node里加监控程序,如果发现node工作不正常就重启什么的。或者是在网络上再增加一个监控node,如果发现不正常的node就强行重启。


我的回答:

  1. 看看是不是硬件原因。是不是10个节点任意死机,还是死机总是发生在某几个node上?
    死机是随机性的,没有规律可言

  2. 如果是PS2键盘,可以试试按键盘上的CAPS LOCK,看键盘上的指示灯有没有变化。如果有,这告诉你内核还能正常响应中断,只是输出输入被阻住了。
    没有变化了

3)如果是硬盘一直busy,最有可能的是驱动在中断处理中出了问题。先看看驱动有什么参数可调,然后看看有没有驱动可以升级。或是换个硬盘试试。
应用软件导致node死机的可能性已经排除掉了

我们的这个设备用了2块IDE硬盘, 其中一个是flash硬盘,现在6成的把握
说是SSD读写的问题, 我们自己也做了个测试程序,把flash硬盘的文件系统直接写崩溃了,但是node就是没死掉.

主板芯片组是:intel 80201DB(intel ICH4)
nand flash是:WDC SSD-3000p

4)想想有什么可以纠错的方法。在node里加监控程序,如果发现node工作不正常就重启什么的。或者是在网络上再增加一个监控node,如果发现不正常的node就强行重启。
正在找原因,实在不行,只能这么做了


请回答,感激不尽

微内核的特点,外部系统崩溃不会导致系统当机。所以如果你能够确定在死机时,kernel已经死了,那么与外部系统崩溃关系统不大。能造成错误的,多数是中断响应,甚而是kernel bug.

我理解,你这个是一个工作系统;所以暂时用外部监控,出错重启的办法来保证系统运行。

如果怀疑SSD,或者可以把它换成IDE,看看结果?