java – 为什么JVM总是以FULL GC启动?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么JVM总是以FULL GC启动?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1683字,纯文字阅读大概需要3分钟。
内容图文
![java – 为什么JVM总是以FULL GC启动?](/upload/InfoBanner/zyjiaocheng/776/1fec22361e2e4387a7da18d1ac39f3fb.jpg)
我正在JBoss AS5上运行的Web应用程序上执行调整基准测试.
我正在使用JMeter创建不同的场景,从低负载到压力负载.
我注意到GC日志始终使用完整的GC启动.
有人可以向我解释这种行为吗?
提前致谢.
FWIW,这是GC日志的片段:
17.560: [Full GC [PSYoungGen: 44456K->0K(458752K)] [ParOldGen: 0K->4385K(1572864K)] 44456K->4385K(2031616K) [PSPermGen: 11565K->11555K(262144K)], 0.9226691 secs]
72.478: [GC [PSYoungGen: 393216K->30720K(458752K)] 397601K->35105K(2031616K), 0.1787110 secs]
112.137: [GC [PSYoungGen: 423936K->38912K(458752K)] 428321K->43297K(2031616K), 0.2197971 secs]
188.297: [GC [PSYoungGen: 432128K->54272K(458752K)] 436513K->58657K(2031616K), 0.3034273 secs]
309.100: [GC [PSYoungGen: 447488K->60416K(458752K)] 451873K->64801K(2031616K), 0.3111470 secs]
430.354: [GC [PSYoungGen: 453632K->65536K(454848K)] 458017K->72129K(2027712K), 0.3374716 secs]
546.078: [GC [PSYoungGen: 454848K->65536K(415104K)] 461441K->78881K(1987968K), 0.3746511 secs]
652.116: [GC [PSYoungGen: 415104K->40960K(436928K)] 428449K->88641K(2009792K), 0.3895185 secs]
765.134: [GC [PSYoungGen: 390528K->28672K(437632K)] 438209K->94882K(2010496K), 0.2703870 secs]
870.726: [GC [PSYoungGen: 380800K->23552K(375680K)] 447010K->102114K(1948544K), 0.1948568 secs]
976.144: [GC [PSYoungGen: 375680K->18432K(436096K)] 454242K->110306K(2008960K), 0.1734677 secs]
解决方法:
它并不总是从GC开始,你可以有一个从不GC的程序.
但是,当JVM启动时,它默认使用最少量的内存.
应用程序正在构建数据结构,并且将保留高百分比的对象.这不是正常行为,幸存者空间可能会耗尽. JVM被调整为假设大多数新创建的对象将被丢弃.当幸存者空间耗尽时,将触发Full GC.
由于您知道应用程序将增加多少内存,因此可以使用类似的选项
-ms512m -mx1g
完整的GC将消失,您将收集较少的频率.
内容总结
以上是互联网集市为您收集整理的java – 为什么JVM总是以FULL GC启动?全部内容,希望文章能够帮你解决java – 为什么JVM总是以FULL GC启动?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。