我有一些我试图分析的JMH基准。我想启用GC日志记录来查看正在生成多少垃圾,但我无法弄清楚如何传递JVM参数。我知道JMH在分叉的JVM中运行基准测试,所以我不明白如何做到这一点。我正在使用SBT。将JVM参数传递给JMH
5
A
回答
7
如果我正确读取sbt-jmh文档,它会将应用程序选项传递给与jmh:run ...
的JMH转轮。因此,拥有该JMH命令行接受--jvmArgs "..."
,我会尝试做jmh:run --jvmArgs "-XX:+PrintGCDetails"
。或者,@apangin提到,请添加@Fork(jvmArgsAppend = "-XX:+PrintGCDetails")
。
但是对于您的特定使用情况 - “查看产生了多少垃圾” - 使用捆绑的GC分析器可能更好,因为它使用-prof gc
激活。请参阅JMHSample_35_Profilers.java#l71上的示例。
5
使用@Fork
注释:
@Benchmark
@Fork(jvmArgsAppend = "-XX:+PrintGCDetails")
public void someBenchmark() {
...
}
注意,传递给江铃控股JVM参数也传播到分叉基准。
相关问题
- 1. 传递JVM参数传递给SBT
- 2. 将JVM参数传递给特定的TestNG测试
- 3. 将JVM参数传递给SpringBoot bootRun Gradle任务
- 4. 作为服务运行时,将JVM参数传递给Tomcat?
- 5. Maven似乎没有将参数传递给JVM
- 6. 将命令行参数传递给jvm(java)mapper任务
- 7. jruby将jvm参数传递给rake任务
- 8. 将参数传递给reducer?
- 9. 将参数传递给iframe
- 10. 将参数传递给Silverlight
- 11. 将参数传递给AppFunc
- 12. 将参数传递给Asynctask
- 13. 将参数传递给hbm2ddl
- 14. 将参数传递给PowerShell
- 15. 将参数传递给PyRun_File(***)
- 16. 将参数传递给execl
- 17. 将参数传递给atexit()
- 18. 将参数传递给window.open
- 19. 将参数传递给exe
- 20. 将参数传递给JsonSerialize
- 21. 将参数传递给ReportView
- 22. 将参数传递给colorbox
- 23. 将参数传递给CollectionViews
- 24. 将参数传递给SQLDataSource
- 25. 将参数传递给array_multi_sort?
- 26. 将参数传递给Capistrano
- 27. 将参数传递给
- 28. 将参数传递给contact.php
- 29. 将参数传递给角
- 30. 将参数传递给SimpleHTTPRequestHandler
JMH传递传递给它的任何参数。你可以将它们添加到命令行中, –