eden和其他代的java堆分配如何影响垃圾收集和性能?

时间:2012-02-15 06:27:23

标签: java garbage-collection jvm heap heap-memory

我想知道为 Xmx,Xms,Xmn Xss 设置的不同值如何影响垃圾收集和性能?

根据什么参数,我们可以决定这些参数的最佳值?

监控分析可用的工具是什么?

3 个答案:

答案 0 :(得分:3)

如果您想要详细说明,http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#generation_sizing是可以效仿的更好资源之一。

就工具而言,除了默认的Java工具,如Hprof,hat,visualvm和Jconsole。其他商业广告也存在,如Appdynamics,yourkit,jprofiler,dynatrace,newrelic等。

答案 1 :(得分:1)

通常最好的方法是在实际负载下对应用程序进行性能测试。

一般来说,如果单独留下这些参数是合理的最佳选择。如果您知道这样做可以提高性能,则应该只设置它们。要知道它可以提高性能,您应该进行负载测试,以证明该设置的性能更好。 (还有其他东西只是猜测工作)

答案 2 :(得分:0)

首先是一些有用的链接:

  1. GC tuning
  2. Diagnosing a Garbage Collection problem
  3. Monitoring
  4. GC FAQ
  5. 为了监控,我习惯Netbeans Profiler

    您还可以设置一些VM选项以打印GC活动(例如):

      

    -verbose:gc -XX:+ PrintGCDetails -XX:+ PrintGCApplicationConcurrentTime -XX:+ PrintGCApplicationStoppedTime

      

    -agentlib:HPROF =堆=所有

    最后,您可以使用MemoryMXBean监控您的应用。

    还有很多其他监控工具,选择你的!