Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all
名前
cytune - Cyclades ドライバーパラメータのチューニング
書式
cytune [-q [-i interval]] ([-s value]|[-S value]) [-g|G] ([-t timeout]|[-T timeout]) tty [tty ...]
説明
cytune は、Cyclades ドライバーの割り込み発生の閾値の表示と変更を行う。 Cyclades カード上の 各シリアルラインは、入力データ用に 12 バイトの FIFO を持っている (出力用には、別の 12 バイ トの FIFO を持っている)。 閾値には、割り込みを発生させるまで FIFO 中に蓄えるデータのバイト 数を指定する。 Cyclades の tty がオープンされると、この閾値は、 以下のようにボーレートに よって定められたデフォルト値に設定される: ボーレート 閾値 50-4800 10 9600 8 19200 4 38400 2 57600-150000 1 閾値が低すぎると、割り込み回数が増大し、マシンの負荷が高くなるため、 システムの全体的なス ループットが低下する。 閾値が高すぎると、FIFO バッファがオーバーフローしやすくなり、 デー タが失われることになる。 また、遅いマシンでは、割り込みの負荷に耐え切れないかも知れないた め、 閾値を高めに調整する必要がある。 Cyclades ドライバーが、 ENABLE_MONITORING 付きでコンパイルされている場合には、cytune コマ ンドに -q オプションを指定して、モニタリング周期中に転送されたデータ数と モニタリング周期 中の割り込み回数をレポートさせることができる。 また、FIFO の状態もレポートされる。 割り込 み発生時の FIFO 中の最大データ数、FIFO 中のデータ数の瞬時値、 現在の FIFO 中のデータ数がレ ポートされる。 この出力は、次のようになる: /dev/cubC0: 830 ints, 9130 chars; fifo: 11 threshold, 11 max, 11 now 166.259866 interrupts/second, 1828.858521 characters/second この結果をみると、このモニタリングサイクルの間、 max の値が決して上記の閾値 (threshold) の 値を越えることがないため、 割り込みは常に所定の時間内に処理されていることがわかる。 この例 を見るかぎりでは処理はうまく行なわれている。 より長い時間サンプリングしてみて大丈夫なよう ならば、この設定で問題ないだろう。 Cyclades のハードウェアは、DCE から DTE へのハードウェ アフロー制御のための RS-232C の RTS ラインをサポートしているようには見えないので、 FIFO が オーバーランすると、データが失われてしまう。 問い合わせモードで起動すると、 cytune は、SIGINT で終了させるか、閾値を超えるか、 タイムア ウトが発生するまでのサマリーを出力する。 応答性とスループットはトレードオフの関係にある。 Cyclades のカードは、高速時 (高速の接続で FIFO の閾値を小さくした時) には、 とても割り込み負荷が高くなる。 このため、システム上で他 のタスクで使用できる CPU 時間が少なくなる。 一方、閾値を大きくすると、1 文字当たりの応答に かかる時間が増大する。 このことは、Cyclades のカードを使って SLIP 接続しているホストに対し て ping(8) を実行してみればわかる。 SLIP を通常、 telnet(1) のような対話的な作業に使用する 場合は、出来るだけ早いレスポンスを得るために、 閾値を低くしたくなる。 SLIP をファイル転送 や WWW などに使用する場合は、 スループットに (悪) 影響が出ず、システムの負荷を抑えるため に、 FIFO の設定を大きな値にする方が良い。 これとは別に、 -t あるいは -T オプションを使う と、cyclades がバッファをフラッシュするまでの待ち時間 を調整できる。単位は、5ms である。 Cyclades のポートにマウスをつないでいる場合は、閾値とタイムアウト値を 低い値にしたくなる。
オプション
-s value 現在の閾値を value 文字に設定する。 tty が、他のプロセスによってオープンされていな ければ、閾値は次回のオープン 時にリセットされる。指定する値は、1 〜 12 の範囲内でな くてはならない。 -t value 現在のバッファフラッシュのタイムアウト時間を value に設定する。 tty が、他のプロセ スによってオープンされていなければ、 タイムアウト時間は次回のオープン時にリセットさ れる。 指定する値は、0 〜 255 の範囲内でなくてはならない。 value に 0 を指定する と、デフォルト値 (現在は 0x20 (160ms)) が使用されるが、 すぐに 0x02 (10ms) にな る。設定単位は、5 ms である。 -g 現在の閾値とタイムアウト値を表示する。 -T value デフォルトのバッファフラッシュタイムアウト値を value にする。 tty の次回オープン時 に、この値がデフォルト値の代わりに使用される。 value に 0 を指定すると、デフォルト 値 0x20 (160) となるが、 すぐに 0x02 (10ms) となる。 -G デフォルトの閾値とバッファフラッシュタイムアウト値を表示する。 -q tty に関する統計情報を表示する。 この結果は、Cyclades ドライバーが ENABLE_MONITORING 付きでコンパイルされている場合にのみ有効である。 おそらく、デフォ ルトでは、 ENABLE_MONITORING は付いていない。 -i interval 統計情報を収集する周期を interval 秒に設定する。
バグ
同じポートの統計情報を取得するために、同時に 2 つの cytune を実行すると、 'ints', 'chars', 'max' の値はリセットされ、正しい結果を得ることができない。 cytune は、これを避けるべきだ が、そうなっていない。
ファイル
/dev/ttyC[0-8] /dev/cubC[0-8]
関連項目
setserial(8) 4 Mar 1995 CYTUNE(8)