[Armadillo:03811] Re: シリアル通信エラー(受信データの取りこぼし)とcron実行の関係について

Nacamula email@hidden
2008年 12月 13日 (土) 13:29:49 JST


yashi様、斉藤様

ご回答有難うございました。

> cron.dailyのfindは、ioを激しく使う jobなので、これが原因かもしれません。
> このスクリプトを動かした状態でテストできますか?

findを実行したところ、現象が発生しました。
ただ、find以外のjobもひとつひとつ実行してみたのですが、
いずれにおいてもエラーが発生しました。

特にman-dbを実行した時が、顕著でした。

> 環境によります。man-dbは必要なさそうですね。findも locate用の indexを
> 作成するために入っているだけなので、組み込み機器で必要になることは
> ないと思います。

不要なものを吟味して、取り除く必要がありそうですね。


> cronジョブを停めて試験のエラーはなくなるでしょうけど、
> 本番機で他のプログラムが動いたタイミングで取りこぼしが
> 起きる可能性は残ったままとなります。

ご指摘の通りです。
現在は、以下の処理で救済を図っています。

取りこぼし発生
↓
受信失敗で受信タイムアウト
↓
再送処理
↓
受信成功

但し、あくまで対症療法的な対応に過ぎないです。
エラーが頻発すると、救済できないことがあります。

> フローコントロール機能を使う方が無難では?

Armadillo-9 COM2には、H/Wフロー制御は付いていません。
COM1には付いています。

以前、COM1を用いることも検討しましたが、
構造上の問題により、COM2しか使用出来ないことになっています。

以上、
よろしくお願いします。





armadillo メーリングリストの案内