在工作负载期间捕获JavaCore的频率
我经常对自己的web应用程序运行工作负载,以尝试查找性能问题。在工作负载期间捕获JavaCore的频率,java,performance,jvm,Java,Performance,Jvm,我经常对自己的web应用程序运行工作负载,以尝试查找性能问题。 有时我会在不同的持续时间内看到内存泄漏等情况。 所以我创建了一个bash脚本来获取javacores,kill-3PID,每分钟执行一次,持续10分钟,脚本在一小时内执行。 对于运行120小时的工作负载,这将产生1200个JavaCore 我在想 这是不是太过分了?我想要系统的连续视图(javacore每5分钟一次,持续120小时),但不想影响性能 根据基于servlet的应用程序自动捕获JavaCore的合理频率是多少 看起来我
有时我会在不同的持续时间内看到内存泄漏等情况。
所以我创建了一个bash脚本来获取javacores,
kill-3PID
,每分钟执行一次,持续10分钟,脚本在一小时内执行。对于运行120小时的工作负载,这将产生1200个JavaCore 我在想
- 这是不是太过分了?我想要系统的连续视图(javacore每5分钟一次,持续120小时),但不想影响性能
- 根据基于servlet的应用程序自动捕获JavaCore的合理频率是多少
“MustGather:Linux上的性能、挂起或高CPU问题”
OutOfMemoryError:查看您的产品是否泄漏,按照下面URL中的步骤进行操作,然后转到手动收集和google IBM heap analyzer(单机版和免费版),并查看堆转储以查找潜在泄漏嫌疑。
“MustGather:Linux上的本机内存问题”
就我个人而言,我更喜欢看堆转储内存使用是否等于或接近XMX。由于这是一个IBM JVM,您可以尝试使用Health Center,而不是定期使用javacores:
它有评测和内存监控视图,因此应该为您提供正在查看的数据,并保存您自己分析javacore文件的数据 您从java内核中提取了哪些信息?通过分析线程,了解应用程序在持续负载下的行为。也许可以识别内存泄漏或其他问题。