CYTUNE(8) Linux Programmer’s Manual CYTUNE(8) 名前 cytune - Cyclades ドライバーパラメータのチューニング 書式 cytune [-q [-i interval]] ([-s value]|[-S value]) [-g|G] ([-t time- out]|[-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)
コロナウイルスの日ごとの感染者数・死者数をグラフ化してみました。どの国が増加傾向にあり、どの国が終息に向かっているかを視覚化しています。
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa