最近我正在开发一个用于视频会议的Android应用程序。我观察到当cpu使用率低于95%时,剩下一半的可用内存。但是当CPU使用率上升时,内存使用率很快就会达到90%甚至更高。我对JVM或GC没有太多的了解,我想知道GC的性能是否与CPU使用情况有关?
如果是,是否有建议我可以遵循以平衡CPU和内存使用?
提前谢谢。
答案 0 :(得分:1)
我怀疑因果关系是相反的。
如果这是问题,你应该找到导致你的堆太满的原因;例如寻找内存泄漏。
答案 1 :(得分:0)
http://www.dynatrace.com/en/javabook/impact-of-garbage-collection-on-performance.html
该链接应该解释gc是如何工作的。通常,高内存意味着您打开了太多对象,垃圾收集无法关闭它们。不是相反。
根据您提供的统计数据,它看起来像您的应用程序执行更多处理需要更多内存而不允许删除信息。