任务:
我可以sar -u > tmp.csv
,我可以,sar -r > tmp.csv
但我需要的是一个包含所有选项的所有 sa* 文件的大表。
sar -r -u -S -q > tmp.csv
并不能完全完成工作
问题
的长度sar -r
可以说sar -u
可能不同。其中一个我有 3625,另一个有 3650,这是不可接受的。
可能的解决方案
对于我所做的每个 sa* 文件sar -r sa* > sar_r_sa*.csv
,我都会这样做-r -u -S -q
,并获得大约 120 个数据文件,我可以通过第一列将这些数据与 Python 合并,例如 ( 7,50,01
)。
但我觉得这个问题有一个更简单的解决方案。
问题
我应该如何将所有数据收集在一个文件中
答案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
所有数据收集在一个文件中:
join <(join <(sar -q) <(sar -S)) <(join <(sar -u) <(sar -r))