我对POJO的实例的内存使用量和计数数量进行采样。如果当我在视觉虚拟媒体中按'垃圾收集',我可以看到实例,这是否意味着它的内存泄漏免费?visual vm force gc
如何强制jvm在midgnight每天都做垃圾收集? (就像自动按visualvm上的垃圾收集)?我看到visualvm的cpu使用情况,gc总是0%。我设置了-xmx -xms 1024m,但通常内存使用量在200mb左右。这是因为GC只在必要时完成?这就是为什么总是0%为gc cpu时间
如何检查上次执行'完整GC'的时间?
2
A
回答
5
- 不,不一定。所有这一切的真正含义是,一些您的对象可以收集。例如,如果GC之后的实例数量总是下降,但仍不能达到与之前相同的水平,则仍然可能发生垃圾泄漏;如果这个“基准”随着时间的推移而增加,你偶尔会忘记记忆。此外,很难证明一个否定的,所以它可能是你的应用程序确实存在内存泄漏错误,但是这种特定的情况并没有执行它。
- 让我们澄清一件事 - 您永远不能强制JVM运行垃圾回收。你可以做的最好的事情是致电
System.gc()
,这是提示给JVM,它现在可能想要运行GC。它不需要做任何事情,并且该方法的无操作实现将是完全有效的。基本上,垃圾收集“恰好发生”,越少你对它的期望就越好。所以基本上,是的,它通常只在需要时运行。 - 同样,这通常是内部知识,细节将取决于您使用的垃圾回收器实现。但是,对于Sun的JVM,可以使用命令行参数
-verbose:gc
将详细的垃圾收集详细信息输出到控制台。如果您想以编程方式或可视方式检查详细信息,则可能也会通过JMX公开此信息(即set up your process to use JMX remoting,并通过JConsole连接到该信息)。对于我来说,使用Sun的1.5.0_06 JVM,我在java.lang.GarbageCollector中看到一个MBean,它公开了一些信息,包括最后一个完整GC的时间。
1
号没有真正确定你的应用程序是免费的内存泄漏的具体方式。最好的做法是在延长的时间内进行浸泡测试,并确保活动堆的大小稳定。
您可以使用
System.gc()
方法调用来运行垃圾回收器。似乎没有用于获取GC最后一次运行的API,但GarbageCollectorMXBean可以提供有关GC的一些统计信息。
相关问题
- 1. Visual force vs lightning framework
- 2. 哪些VM或GC支持JNI锁定?
- 3. Squeak VM能否支持实时GC?
- 4. Visual C++'Force Includes'选项
- 5. Visual Force页面帮助
- 6. 无法在VisualVM中查看Visual GC
- 7. App force closing - OutOfMemoryError
- 8. GC日志 - VM操作事件 - 如何跟踪它们
- 9. Java Visual VM是否会影响受监控的JVM的性能?
- 10. GC vs GC SuspendedEE
- 11. 使用visual Vm的本地jmx连接
- 12. 限制Visual VM中的配置文件
- 13. visual vm分析内存泄漏
- 14. 从这个GC日志完整的GC或年轻的GC?
- 15. JAVA GC主要GC与次要GC
- 16. FORCE INDEX
- 17. force clojure:reload
- 18. Jprofiler和G1 GC
- 19. 在salesforce中的Visual Force页面上嵌入Scontrol
- 20. 尝试解除引用空对象Salesforce Visual Force页面
- 21. Visual Force页面呈现为PDF格式:表格格式
- 22. 从控制器获取字符串值到Visual force组件
- 23. Force update ActiveRecord association
- 24. Force Preprocessor Evaluation Tokenizing
- 25. WPF Force rebind
- 26. Android Force关闭
- 27. css force float div
- 28. teamcity force checkout
- 29. Force logout facebook oauth
- 30. Force phonegap disconnect
如果您在tomcat中有3个应用程序。和一个做System.gc()的应用程序。那会自动gc所有3个应用程序,因为共享相同的jvm权利? – cometta 2010-10-11 08:53:28
这是正确的 - 'gc()'调用是JVM范围的。 – 2010-10-11 09:18:22