事象
性能情報を取得結果であるsarファイルを可視化するツール、kSarにてsarを読み込んだ際に以下のように文字化けでエラーとなる。
unable to parse time 18譎?46蛻?01遘?
環境情報
- kSar7 (alpha)
- RedHatEnterpriseLinux 7.8
- Windows 10 (Cygwin)
原因/解決策
該当ファイルの文字コードが以下のようになっているので
$ file sarfile sarfile: UTF-8 Unicode text
ASCIIに変換することで
$ cat sarfile | nkf -s > sarfile_s $ file sarfile_s sars27: Non-ISO extended-ASCII text
読み込み時エラーを解消する。
以下、補足です。
補足
該当のsarファイルをheadコマンドで見てみると
$ head sarfile Linux 3....el7.x86_64 (instance-1) 20XX-XX-XX _x86_64_ (2 CPU) 12時34分45秒 LINUX RESTART 12時35分01秒 CPU %usr %nice %sys %iowait %steal %irq %soft %guest %gnice %idle 12時35分11秒 all 6.36 0.00 0.67 0.36 0.00 0.00 0.00 0.00 0.00 92.62 ...
形式が確認できます。
Ksarをjavaコマンドから起動し
$ /cygdrive/c/Program\ Files/Java/jre/bin/java -jar kSar-7.0.0-alpha2.jar
日付情報と「yyyy-mm-dd」時間データを「hh時mm分ss秒」をKsarのOptionから以下のように指定します。
この状態でsarファイルを「Data」 >「Load from file...」にてsarファイルを選択するとデータが表示されるはずですが以下が標準出力に出力されました。
unable to parse time 18譎?46蛻?01遘? ...
この文字化けは「時」や「分」の文字コードが認識できていない模様なのでsar自体の文字コードを変換することで対応しました。
また、文字化けが起きない半角英数である「x時y分z秒」を「x:y:z」に置換する方針でも対応可能です。
以上、ご参考になれば幸いです。