CA APM 故障排除信息 › 其他 CA APM 故障排除 › Java 代理崩溃
Java 代理崩溃
症状:
Java 代理崩溃、挂起或者其开销或 CPU 使用率很高。
解决方案:
大多数代理问题都是由于以下原因引起的:
- 配置不受支持
- 8.x 代理的体系结构改进引入了已知的代理内存开销
- CA APM 将 Java 平台检测机制用于监控所导致的 JVM 缺陷
- 检测或度量标准爆发
要排除这些问题,请尝试以下建议:
- 最近是否更新了任何内容?
- CA 专业服务是否实施了任何自定义检测或扩展?
- 配置是否受支持?
- 如果您正在使用 Introscope 代理 8.2 或更高版本,请在 IntroscopeAgent.profile 中将 introscope.agent.reduceAgentMemoryOverhead 设置为 true。
- 通过执行以下操作确定问题是否与检测或 JVM 缺陷有关:
- 停止应用程序服务器。
- 打开 IntroscopeAgent.profile 并设置 introscope.autoprobe.enable=false。
- 启动应用程序服务器。
如果问题仍然存在,则说明该问题与 CA APM 检测无关。 尝试以下解决方案:
- 尝试从 -javaagent 切换到 -Xbootclasspath
- 升级到最新 JVM 版本或使用备用 JVM
- 使用 JVM 供应商打开一个支持突发事件
- 临时减少检测量,以帮助确定问题的原因:
- 停止应用程序服务器。
- 打开 IntroscopeAgent.profile 并设置 introscope.autoprobe.enable=true。
- 有些应用程序使用大量唯一的 SQL 语句字符串,特别是在 SQL 是动态构造的情况下。 这会导致 SQLAgent 度量标准爆发。 对于测试,可通过从 AGENT 目录中删除 <Agent_Home>/wily/core/ext/SQLAgent.jar 来禁用 SQLAgent。 如果无法实现,可设置 introscope.agent.sqlagent.sql.maxlength=120(默认值为 990)。
无论数据库本身施加哪些限制,maxlength 始终允许截断 SQL 语句的长度,除了这一点外,对 SQL 语句的长度没有任何限制。 这样做是为了防止 SQL 度量标准爆发。
- 禁用平台监视器。 将相应的平台监视器文件从 /wily/ext 目录移至其他目录。
- 在 toggles.PBD 中为网络、文件系统和系统文件度量标准关闭跟踪器。 建议在生产中不要启用这些跟踪器。
# TurnOn: SocketTracing
# TurnOn: UDPTracing
# TurnOn: FileSystemTracing
- 禁用 JMX 收集。 轮询许多 JMX 度量标准需要占用大量 CPU。
如果可以,现设置 introscope.agent.jmx.enable=false
永远不要将筛选字符串设置为空,如:introscope.agent.jmx.name.filter=
如果不设置筛选,单个代理可生成上万个 JMX 度量标准。
- 禁用其他所有 Introscope 代理附加程序,如:ErrorDetector、ChangeDetector、Leakhunter 或其他扩展。
Leakhunter 是诊断工具,不是全天候监控工具。
扩展提供了极佳的度量标准,但会生成许多开销很大的度量标准。
- 禁用其他所有自定义 pbd。
避免使用以下指令:TraceAllMethodsOfClass 和 TraceComplexMethodsOfClass。
谨慎选择要监控的方法。
在您联系 CA 支持前收集数据
如果您已经复查了以前的建议,但仍然遇到问题,那么请在联系 CA 支持之前收集以下数据。 该信息将有助于 CA 支持 切实有效地协助您解决问题。
版权所有 © 2013 CA。
保留所有权利。
|
|