1. 概要
Linuxのsar
コマンドで次のエラーが生じるときは、sadf
コマンドでファイル・フォーマットを変換すると解消します。
Current sysstat version cannot read the format of this file (0x2171)
2. sarコマンドの説明
sar
コマンドはCPU使用率などのパフォーマンス情報を表示するコマンドです。その情報はsadc
コマンドによって収集されて、RHELでは/var/log/sa
配下にsa01 sa02 sa03 ...
のように日次で1ファイルずつ保存されます。これらをSAファイルと呼ぶことにします。SAファイルはバイナリ形式で、その内容を確認するためにsar
コマンドを使ってテキスト形式に変換します。
3. sysstat versionエラーと解消方法
リモート・サーバーのSAファイルをローカル環境にダウンロードして、その内容を確認することも可能です。しかしリモート・サーバーとローカル環境のLinuxバージョンが異なると、次のようなエラーが起きることがあります。
$ sar -f sa01
Invalid system activity file: sa01
File created by sar/sadc from sysstat version 10.1.5
Current sysstat version cannot read the format of this file (0x2171)
この場合は次のようにsadf
コマンドでフォーマット変換を行うと解消します。-c
オプションによって古いシステムのデータを現環境のsar
コマンド用に変換します。
$ sadf -c sa01 > sa01new
file_magic: OK
HZ: Using current value: 100
file_header: OK
file_activity: A_CPU A_PCSW A_SWAP A_PAGE A_IO A_MEMORY A_HUGE A_KTABLES A_QUEUE A_SERIAL A_DISK A_NET_DEV A_NET_EDEV A_NET_NFS A_NET_NFSD A_NET_SOCK OK
Statistics:
Hnuu...uuuununununu...Hnuu...uuuununununu...Hnuu...uuuununununu...Hnuu...uuuununununu...
...
File successfully converted to sysstat format version 12.5.2
これでsar
コマンドのエラー無しで内容をテキスト表示できます。
$ sar -f sa01new
Linux 3.10.0-1160.11.1.el7.x86_64 (e1n1) 03/01/22 _x86_64_ (32 CPU)
00:00:01 CPU %user %nice %system %iowait %steal %idle
00:10:01 all 6.94 0.00 2.56 0.08 0.00 90.42
00:20:01 all 6.70 0.00 2.60 0.08 0.00 90.62
...
4. 関連情報:SAファイルからグラフを作成する方法
sar
コマンドの出力テキストからグラフを作成する方法がいくつかあります。
SARChart
sadfコマンド(svgファイル生成)
-
https://qiita.com/ymiki0001/items/d5fe7d06c83d5f46957e
sarコマンドでLinuxのパフォーマンスデータを取得してCSV化する
kSar
-
https://qiita.com/S-T/items/387635e90857e13832cc
sarファイル(sysstat) をグラフ化 -
https://qiita.com/hogeo1234/items/ae9701a5d0fd52e73ccb
sar用のグラフ化ツール【ksar】を使ってみた
以上