技术文章 - CS244172
Windchill 中系统无响应,并显示“超出平均并发方法上下文阈值”电子邮件
已修改: 29-Apr-2025
适用于
- Windchill PDMLink 10.2 to 12.0
说明
- 系统对电子邮件没有响应:
Average concurrent method context threshold exceeded
- 方法服务器日志中的wt.jmx.notif.methodContext警告:
Threshold of average active method contexts exceeded
- 方法服务器日志中的wt.jmx.notif.methodContextGauge警告
- 抓取thread dump发现很多线程无法获取数据库连接
- 服务器状态页面,最大并发数高并显示为红色
- 零件结构页面加载非常缓慢
- 工作流程未启动
- 后台方法服务器日志中的wt.jmx.notif.methodContext警告
- Windchill 配置助手 (WCA) 至少配置 wt.pom.maxDbConnections=10
- 完整的线程堆栈跟踪显示在等待数据库连接时许多线程被阻塞
- 等待 wt.pom.POMHandler.getConnection 的示例堆栈跟踪:
"ajp-bio-8010-exec-8" Id=785 daemon prio=5 WAITING on lock=wt.pom.POMHandler$ConnectionPool@2a652831 Blocked (cnt): 0; Waited (cnt): 1 CPU nanos: 74310016; User nanos: 60000000; Bytes allocated: 30024800 Servlet request: 2upts7;irqbn1uk;2468;htf3sd;4345; Method context: 2upts7;irqbn1uk;2468;htf3sd;4347 at java.lang.Object.wait(Native Method) at wt.pom.POMHandler.getConnection(POMHandler.java:175) at wt.method.MethodContext.getConnection(MethodContext.java:2391) at wt.pom.PersistentObjectManager.getUserConnection(PersistentObjectManager.java:327)- 不断收到警告,数据库连接始终达到wt.pom.maxDbConnections的最大值:
Name=MethodContextsNotifier, SourceObjectName=com.ptc:wt.subsystem=Monitors,wt.monitorType=MethodContexts, class=class javax.management.Notification, type=wt.method.MethodContextMonitorMBean.maxAverageActiveContextsThreshold.exceeded, userData=38.12698373779806, message=Threshold of average active method contexts exceeded; average active contexts: 38.127, JVM Name=xxx, Database Connections=15
从方法上下文示例来看,许多进程都在等待数据库连接
这是文章 244172 的 PDF 版本,可能已过期。最新版本 CS244172