我有一些我試圖分析的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傳遞傳遞給它的任何參數。你可以將它們添加到命令行中, –