收集所有 sar 数据

收集所有 sar 数据

任务:

我可以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))

相关内容