TAPESTAT

Section: Linux User's Manual (1)
Updated: JULY 2018
Index Return to Main Contents
 

名前

tapestat - テープの統計をレポートする。  

書式

tapestat [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ] [ --human ] [ interval [ count ] ]  

説明

tapestat コマンドはシステムに接続されたテープの活性度をモニタリングする。

tapestat コマンドが生成する最初のレポートとして、 システムがブートしてからの時間の統計が提供される。 -y オプションが使われると、最初のレポートが省略される。

その後のレポートは、最初のレポートからの時間がカバーされる。

interval パラメータは各レポート間の時間を指定する。 count パラメータは interval パラメータと組み合わせて使われる。 count パラメータが指定されると、 countinterval 秒ごとに生成される回数を決定する。 count パラメータを指定せずに interval パラメータを指定すると、 tapestat コマンドは連続してレポートを生成する。

 

レポート

tapestat はシステムに接続されたテープドライブの統計をレポートする。 以下のデータが表示される。

r/s

interval の期間に発行された読み込み転送の 1 秒あたりの平均回数。

w/s
interval の期間に発行された書き込み転送の 1 秒あたりの平均回数。

kB_read/s | MB_read/s
interval の期間の読み込み転送量の 1 秒あたりの平均値。 (デフォルト、またはオプション -k が指定された場合) キロバイト、 (オプション -m が指定された場合) メガバイト。

kB_wrtn/s | MB_wrtn/s
interval の期間の書き込み転送量の 1 秒あたりの平均値。 (デフォルト、またはオプション -k が指定された場合) キロバイト、 (オプション -m が指定された場合) メガバイト。

%Rd
読み込み待ちの割合 - interval の期間に、読み込みリクエストの完了を 待つのに使った時間の割合。 SCSI 中間レイヤーにリクエストが送信されてから、 リクエストが完了するまでの時間が計測される。

%Wr
書き込み待ちの割合 - interval の期間に、書き込みリクエストの完了を 待つのに使った時間の割合。 SCSI 中間レイヤーにリクエストが送信されてから、 リクエストが完了するまでの時間が計測される。

%Oa
待ち全体の割合 - interval の期間に、I/O リクエスト (読み込み、書き込み、その他) の完了を待つのに使った時間の割合。

Rs/s
0 以外の未処理の値に当たって、 interval の期間に転送された I/O の回数の平均値。

Ot/s
「その他」の I/O を含む、interval の期間に転送された I/O の回数の平均値。 その他の I/O には、テープドライバに対する ioctl 呼び出しと、 (クローズ時の巻き戻しが実装されたテープデバイスに対する) クローズ時の巻き戻しといった、テープドライバによって 実行される暗黙の操作が含まれる。 これには (例えば sg ioctl を使った) テープドライバ以外の 方法を使った I/O が含まれない。
 

オプション

--human
サイズを人間が読みやすいフォーマット (例えば 1.0k, 1.2M など) で表示する。 このオプションで表示される単位は、指標に紐付けられたデフォルトの単位 (例えば、キロバイト、セクターなど) を上書きする。
-k
読み書きされたデータ量を、メガバイトではなく、 キロバイトで表示する。 このオプションは -m とどちらか一方しか指定できない。
-m
読み書きされたデータ量を、キロバイトではなく、 メガバイトで表示する。 このオプションは -k とどちらか一方しか指定できない。
-t
タイムスタンプを表示する。 タイムスタンプのフォーマットは、S_TIME_FORMAT 環境変数の値に依存する (下記を参照)。
-V
バージョン番号を表示して、終了する。
-y
ブートからの最初の統計の表示を省略する。
-z
サンプリング期間に何も活動がない場合、 tapestat に出力を省略させる。

 

考慮点

割合の値 (読み込み、書き込み、その他) は、100% より大きくなる可能性がある (tapestat コマンドは 999% より大きい値を表示しない)。 テープの巻き戻しに 40 秒かかり、interval 時間が 5 秒の場合、 巻き戻しが完了するまでの期間では %Oa の値は 0 であり、 巻き戻しが完了した後では約 800% になる。

テープドライブが読み込みや書き込みを止めて、リスタート (つまりストリーミングを停止) した場合、 同様の値が %Rd と %Wr にも見られる。 このような場合、読み込みまたは書き込みが引き続いて起こると (読み込みや書き込みが再開されるまでにどのくらいかかるかに依存して)、 r/s または w/s は 0 に落ち込み、 %Rd/%Wr の値は 100 より大きくなるだろう。 これは多発する場合にのみ問題になり、テープ摩耗の原因になり、 バックアップ時間に影響が出る。

速いテープドライブでは待ち時間の割合が低いだろう。 これはテープドライブに問題があることを表している訳ではない。 遅いテープドライブ (例えば古い世代の DDS ドライブ) では、 テープ (とテープドライブ) の速度はファイルシステム I/O よりかなり遅く、 待ち時間の割合は高くなりやすい。 速いテープドライブ (例えば LTO) では、スループットが高いので、 テープに対する書き出しまた読み込みは、ファイルシステム I/O より良くなるため、 待ち時間の割合は低くなる。

テープの統計はカーネル内のアトミックな値を使って実装されているが、 グループとしてはアトミックに読み込まれていない。 全ての統計値は /sys 以下の別々のファイルから読み込まれているため、 1 つのテープドライブについて別々のファイルを読んでいる間に、 I/O が完了してしまうことがある。 これにより、デバイスの統計の値の中には、I/O が完了する前に決まるものと、 完了した後に決まるものがある。

このコマンドは 1 秒あたりの統計値を計算する際の丸め方法として、切り捨てを行う。 例えば、dd を使って 1 つのテープから別のテープにコピーする時に、 tapestat を時間間隔 5 秒で動作させた場合に、時間間隔の間に 3210 回の書き込みと 3209 回の読み込みがとすると、 w/s は 642、 r/s は 641 となる (641.8 は 641 に切り捨てられる)。 このような場合に、 tar アーカイブを (10k ブロックサイズで) コピーすると、 kB_read/s と kB_wrtn/s の差が 2 となるだろう (1 回の I/O サイズ 10k が時間間隔 5 秒で割られて 2 となる)。 3210 回の書き込みと 3211 回の読み込みの場合、w/s と r/s はともに 642 となるが、 kB_read/s と kB_wrtn/s には 2 kB/s の違いがあることに気づくだろう。

このコマンドは時間間隔を秒で指定する。 しかし内部的には時間間隔はデバイスごとに監視され、 レポートされる 1 秒ごとの統計に影響を及ぼす可能性がある。 各統計のセットがキャプチャされた時刻は、その統計値とともに保存される。 現在時刻と前の時刻の差分は、計算のためにミリ秒に変換される。 これが統計レポートにどのような影響があるかを、 tar アーカイブを dd を使って 2 つのテープドライブの間でコピーする例で見てみよう。 両方のデバイスが 28900 キロバイトを転送し、 テープドライブからの読み込みに 5001 ミリ秒かかり、 テープドライブへの書き込みに 5000 ミリ秒かかったとすると、 計算結果は 5778 kB_read/s と 5780 kB_wrtn/s になる。

I/O 完了時に取得した統計への影響は、統計値を計算する際の 切り捨てによる丸めと、時間間隔の小さな差分により、小さいが 0 ではない可能性がある。  

環境変数

tapestat コマンドは以下の環境変数を扱う。

S_COLORS
この環境変数を設定すると、端末上で統計をカラー表示する。 この環境変数に指定可能な値は、 never, always, auto である (最後がデフォルトである)。

値を表示する色 (赤、黄、またはその他の色) は、色によって何かの意味を示している訳ではない。 色は値の範囲を示しているだけである。

S_COLORS_SGR
端末で統計を表示する際に、色とその他の属性を指定する。 この値は、コロン区切りの機能のリストで、デフォルトは H=31;1:I=32;22:M=35;1:N=34;1:Z=34;22 である。 サポートされている機能は以下のとおり。

H=
割合が 75% 以上の場合の SGR (Select Graphic Rendition) 部分文字列。

I=
テープ名を表示する SGR 部分文字列。

M=
割合が 50% から 75% の場合の SGR 部分文字列。

N=
0 以外の統計値を表示する SGR 部分文字列。

Z=
0 を表示する SGR 部分文字列。

S_TIME_FORMAT
この環境変数が存在し、かつ値が ISO の場合、レポートのヘッダの日付を表示する際に、 現在のロケールを無視する。 代わりに、 tapestat コマンドは ISO 8601 フォーマット (YYYY-MM-DD) を使う。 -t オプションのタイムスタンプも ISO 8601 フォーマットに従う。

 

バグ

tapestat コマンドが動作するためには、 /sys ファイルシステムがマウントされていなければならない。 sysfs サポートがないカーネルでは動作しない。

このコマンドはカーネル 4.2 以降が必要である (もしくは、それ以前のカーネルに、テープの統計がバックポートされている 必要がある)。

 

ファイル

/sys/class/scsi_tape/st<num>/stats/* テープデバイスの統計ファイル。

/proc/uptime システムの uptime を保持する。  

著者

最初のリビジョンは Shane M. SEYMOUR (shane.seymour <at> hpe.com) が作成した。
sysstat 用に Sebastien Godard (sysstat <at> orange.fr) が修正した。  

関連項目

iostat(1), mpstat(1)

https://github.com/sysstat/sysstat

http://pagesperso-orange.fr/sebastien.godard/


 

Index

名前
書式
説明
レポート
オプション
考慮点
環境変数
バグ
ファイル
著者
関連項目

This document was created by man2html, using the manual pages.
Time: 03:32:53 GMT, March 20, 2020