gpt4 book ai didi

Java JVM 或 Eclipse 启动开销

转载 作者:行者123 更新时间:2023-12-01 04:58:29 25 4
gpt4 key购买 nike

我有一个网络线程应用程序,在 Eclipse (Indigo) 和 Javd 1.7x 下运行。很长一段时间以来,我注意到应用程序的第一次运行会导致前端和后端加载性能下降,例如,如果我要加载应用程序,然后使用 100 个网络数据包(使用测试工具)来攻击它前几个响应会非常不稳定,最后几个响应则非常不稳定。 [编辑] 无需卸载应用程序,只需再次运行测试工具,应用程序即可正常执行。[编辑结束]

我决定尝试深入了解它并加载 VisualVM 1.3.5 来分析行为。运行开始时,CPU 使用率出现明显的峰值,从 10% 上升到超过 50%。在峰值之后,一切都显得正常,并且如上所述,后续运行在 CPU 利用率中没有领先的峰值,并且后续运行的配置文件与第一次运行的峰值之间的配置文件相同。似乎没有任何证据表明线程数量造成了这种情况,但有小幅上升。堆空间从 100MB 增加到 200MB,但除此之外一切看起来都很正常。

欢迎任何想法。

谢谢

最佳答案

第一次运行测试时,系统性能不稳定是很常见的情况。这是由于操作系统从磁盘读取库、JAR 文件和其他数据并将其存储在缓存中。完成此操作后,第一次所有后续运行都会更快且更一致。

此外,请记住,JVM 在启动后也往往会变慢。由于其热点分析和即时编译,代码需要运行一段时间,然后 JVM 才会针对您的特定工作负载优化字节码。

关于Java JVM 或 Eclipse 启动开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13717124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com