Als ich eine speicherbezogene Umfrage durchführte, wurde mir gesagt, dass ich Excel wirklich für die Aggregation verwenden wollte, also habe ich es vorerst versucht.
Das übliche jstat-Protokoll wird wie folgt angezeigt.
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
512.0 512.0 0.0 0.0 124928.0 6358.9 83968.0 42417.6 65064.0 58754.0 9256.0 7392.2 15501 94.212 15488 1702.193 1796.405
Wenn Datum und Komma getrennt werden können, scheint es vorerst so zu sein, dass es in Excel gelesen werden kann, also habe ich versucht, sed und awk zu verwenden. Da sich die ausgeführte Anwendung in einer Windows-Umgebung befindet, installieren Sie sie im Voraus, damit sed und awk ausgeführt werden können. Als ich es auf einem Mac ausprobierte, wurde ich wütend, wenn es keine Awk-Zeit gab, also installierte ich Gawk.
awk: calling undefined function strftime
Also habe ich verschiedene Dinge ausprobiert und es wurde wie folgt.
jstat -gc <process id> 10s | gawk '{print strftime("%Y/%m/%d-%H:%M:%S"), $0; fflush();}' | sed -e 's/^ *//g; s/ */,/g' >> jstat.csv
Nun wird die Ausgabe wie folgt sein.
2018/04/28-23:28:46,S0C,S1C,S0U,S1U,EC,EU,OC,OU,MC,MU,CCSC,CCSU,YGC,YGCT,FGC,FGCT,GCT,
2018/04/28-23:28:46,512.0,512.0,0.0,0.0,124928.0,4831.7,83968.0,42283.1,65064.0,58754.0,9256.0,7392.2,15507,94.412,15494,1703.366,1797.778
2018/04/28-23:28:47,512.0,512.0,0.0,0.0,124928.0,4831.7,83968.0,42283.1,65064.0,58754.0,9256.0,7392.2,15507,94.412,15494,1703.366,1797.778
Das Datum wird ebenfalls in die Kopfzeile aufgenommen, dies ist jedoch ein Kompromiss.