【问题标题】:Monitoring Application on Production with JProfiler使用 JProfiler 监控生产中的应用程序
【发布时间】:2019-11-11 19:24:52
【问题描述】:
目前我们在生产中遇到了一些应用程序抛出 OutOfMemoryError 的问题,为了确定当前原因是什么,我们订购了 JProfiler 并且我们计划购买许可证,这里的问题是,是否需要根据 JProfiler 架构在 prod 服务器中使用 JProfiler 代理?它会损害应用程序在 prod 中的性能吗?这个代理是强制性的吗?感谢您的宝贵时间。
【问题讨论】:
标签:
performance
jvm
profiling
jprofiler
【解决方案1】:
通常,您必须通过传递远程集成向导(会话->集成向导->新远程集成)给出的-agentlib VM 参数来添加分析代理,以便分析 JVM。
性能影响取决于分析设置。如果您不开始分配记录并使用采样作为方法调用记录类型,则开销通常不会超过几个百分点。
但是,如果您只需要调查 OutOfMemoryError,则可以传递 VM 参数
-XX:+HeapDumpOnOutOfMemoryError
并在 JProfiler GUI 中打开 HPROF snapshot。