Mov*_*ast 6 java garbage-collection jvm jvm-hotspot
sunjava-1.6.0_21.-Xmx16384M和-Xms16384M.13969522688152710021123031718040Used=10426MB Max=10922MB
Used/Max=95%旧的用法 - 我已经确认这是由于实际数据而且预计不会免费.我的问题是,默认情况下JVM调整堆空间大小(它分配了10922MB旧版本),这在旧版本部分留下了很少的可用空间.
newratio并尝试增加旧版本的可用空间或任何其他方式我应该调整应用程序. 旧一代可用空间较少会影响应用程序吗?
如果你的终身一代满了,就会发生一次重大的收集,而这种类型的收集成本很高。您可以使用选项 :-verbose:gc和-XX:+PrintGCDetails来了解 Full GC 是否发生得太频繁。如果是这种情况,那么它会影响应用程序的性能。
如果是,我该如何处理?我是否应该尝试 JVM 调整参数(如 newratio)并尝试增加旧代的可用空间或我应该调整应用程序的任何其他方式。
您可以尝试 NewRatio,但请记住,如果您的 eden 太短,您的终身生成可能会更快被填满。
总之,您应该使用监视工具来更好地了解必须使用的虚拟机选项。它将轻松地向您展示应用程序执行过程中您的代是如何填充的,它比 gc 日志更容易阅读和理解;)