use*_*339 8 java garbage-collection jvm
如何通过查看次要和主要集合的gc日志来查看正在运行的垃圾收集器(CMS,并行等)?我无法访问设置为java的命令行选项(appserver的sysadm不会让我看到它们).我确实有相当详细的gc日志.
GC 消息的确切格式取决于 JVM 版本和 JVM 设置。您可以在Oracle 教程中查看有关 GC 调优的示例。
DefNew是默认收集器。它要么是串行的,要么是并行的,选择哪一种又取决于 JVM 版本/设置。您可以使用 来查看 JDK 6 中的默认设置java -XX:+PrintCommandLineFlags -version。在我的系统上它打印:
-XX:MaxHeapSize=1073741824 -XX:ParallelGCThreads=4 -XX:+PrintCommandLineFlags -XX:+UseParallelGC
Run Code Online (Sandbox Code Playgroud)
这意味着并行 GCDefNew适合我。你可以检查这个SO问题,它的答案之一引用了这张表,也许会对你有所帮助。
更新JDK 6 中的默认 Old Gen GC 是 ParallelOldGC,请参阅此启发性 pdf。特别是,您可以使用-XX:+UseConcMarkSweepGC
JVM 选项将 Old Gen GC 更改为较新的 Concurrent-mark-sweep GC。
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |