最近、マイクロ ベンチマーク コードを書いているので、ベンチマーク情報と一緒に JVM の動作を出力する必要があります。私が使う
-XX:+PrintCompilation
-XX:+PrintGCDetails
JVMステータスを取得するためのその他のオプション。ベンチマーク情報については、単純にSystem.out.print()
メソッドを使用します。印刷したメッセージと JVM 出力の順序を知る必要があるためです。
コンソールに出力するだけで良い結果が得られますが、JVM 出力でメッセージが破損することがありますが、それらは異なるスレッドにあるため、理解可能で許容範囲です。
バッチ ベンチマークを実行する必要がある場合は、Python を使用してファイルから結果を取得し、分析しredirect the output into a file
たいと思います。pipe (> in Linux system)
問題は次のとおりです。
The JVM output always overlapped with the messages I printed in the Java application.
メッセージの完成を台無しにしました。
この状況に対処する方法はありますか?私は欲しいboth the JVM output and application output in the same place in order to preserve the sequence because it is important. And they do not overlap on each other so I don't lose anything.