仕事:
できますsar -u > tmp.csv
。sar -r > tmp.csv
ただし、必要なのは、すべてのオプションを含むすべてのsa *ファイルを含む大きなテーブルです。
sar -r -u -S -q > tmp.csv
仕事を正しく終わらない
質問
長さはさまざまであると言えsar -r
ます。sar -u
そのうちの1つは3625で、もう1つは許可されていない3650です。
考えられる解決策
sar -r sa* > sar_r_sa*.csv
私は私が作成したすべてのsa *ファイルに対してこれを行い-r -u -S -q
、最初の列としてPythonとマージできる約120個のデータファイルを取得します(例:(7,50,01
))。
しかし、私はこの問題に対するより簡単な解決策があると思います。
質問
1つのファイルにすべてのデータを収集するにはどうすればよいですか?
答え1
この試み:
paste <(sar -r) <(sar -u) <(sar -q) <(sar -S) > sar.out
出力例:
12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
12:10:01 AM 1737724 6311336 78.41 22036 85856 5583532 45.60 12:10:01 AM all 3.92 0.00 8.85 0.01 0.00 87.22 12:10:01 AM 2 872 1.00 1.00 1.00
12:20:01 AM 1737228 6311832 78.42 22484 85860 5582312 45.59 12:20:01 AM all 3.93 0.00 8.83 0.01 0.00 87.23 12:20:01 AM 2 871 1.00 1.01 1.00
12:30:01 AM 1736764 6312296 78.42 22956 85852 5582192 45.59 12:30:01 AM all 3.96 0.00 8.79 0.01 0.00 87.24 12:30:01 AM 2 871 1.00 1.00 1.00
12:40:01 AM 1735636 6313424 78.44 23420 85868 5582264 45.59 12:40:01 AM all 3.92 0.00 8.85 0.01 0.00 87.22 12:40:01 AM 2 871 1.00 1.00 1.00
12:50:01 AM 1734644 6314416 78.45 23884 85872 5582248 45.59 12:50:01 AM all 3.90 0.00 8.86 0.01 0.00 87.22 12:50:01 AM 2 871 1.00 1.00 1.00
01:00:01 AM 1733992 6315068 78.46 24356 85876 5582252 45.59 01:00:01 AM all 3.95 0.00 8.79 0.01 0.00 87.24 01:00:01 AM 2 871 1.00 1.00 1.00
01:10:01 AM 1731508 6317552 78.49 24836 85892 5583444 45.60 01:10:01 AM all 3.95 0.00 8.80 0.01 0.00 87.24 01:10:01 AM 2 872 1.00 1.00 1.00
01:20:01 AM 1732028 6317032 78.48 25304 85880 5582144 45.59 01:20:01 AM all 3.95 0.00 8.80 0.01 0.00 87.24 01:20:01 AM 2 871 1.00 1.00 1.00
01:30:01 AM 1730776 6318284 78.50 25752 85888 5582324 45.59 01:30:01 AM all 3.95 0.00 8.79 0.01 0.00 87.25 01:30:01 AM 2 871 1.00 1.00 1.00
01:40:01 AM 1729152 6319908 78.52 26224 85892 5582404 45.60 01:40:01 AM all 3.95 0.00 8.79 0.01 0.00 87.25 01:40:01 AM 2 871 1.00 1.00 1.00
注:最終出力には重複した時間列があります。
答え2
join
1つのファイルにすべてのデータを収集してみることができます。
join <(join <(sar -q) <(sar -S)) <(join <(sar -u) <(sar -r))