1

我有奇怪的 JRUN 问题。我已经在 Amazon EC2 实例上安装了 ColdFusion 9.0,除了 JRUN 在特定时间跨度内消耗了大约 50% 的内存之外,一切似乎都运行良好。

连续两个小时它需要 50% 的 CPU 使用率,然后接下来的 45 分钟到一个小时它正常工作,接下来的两个小时又需要 50%。我没有运行任何计划文件。

另外,如果有人指导我如何知道导致 JRUN 吃掉内存的请求,我将不胜感激。 CPU使用率

感谢 MIKE 的建议,但似乎我已经启用了矩阵,但是当 JRUN 正常运行并占用 50% 内存时找不到任何更改。由于字符数的限制,我将日志作为单独的答案发布。此外,我尝试停止 IIS 以确保没有外部请求到达 ColdFusion 并且 FusionReactor 没有显示对 JRUN 的请求,但仍在使用高内存。

由 JRun 创建于 09/22 08:00:35

09/22 08:00:35 指标 Web 线程(忙/总数):1/31 会话:0 总内存=684672 空闲=228809 09/22 08:01:35 指标 Web 线程(忙/总数):2/34会话:0 总内存=761792 空闲=364733 09/22 08:02:35 指标 Web 线程(忙碌/总):1/34 会话:0 总内存=773568 空闲=338352 09/22 08:03:35 指标 Web线程(忙/总数):1/35 会话:0 总内存=781696 空闲=283261 09/22 08:04:35 指标 Web 线程(忙/总数):3/36 会话:0 总内存=790784 空闲=325807 09/22 08:05:35 指标 Web 线程(忙碌/总):1/36 会话:0 总内存 = 794432 空闲 = 301484 09/22 08:06:35 指标 Web 线程(忙碌/总):1/35会话:0 总内存=768640 空闲=221172 09/22 08:07:35 指标 Web 线程(忙/总):1/38 会话:0 总内存=793984 空闲=245422 09/22 08:08:35 指标 Web线程(忙碌/总数):1/37 会话:0 总内存=790080 空闲=376290 09/22 08:09:35 指标 Web 线程(忙碌/总):1/38 会话:0 总内存=792832 空闲=307553 09/22 08:10:35 指标 Web 线程(忙/总):1/36 会话:0 总内存=792000 空闲=337115 09/22 08:11:35 指标 Web 线程(忙/总):1/36 会话:0 总内存=789184 空闲=240118 09/ 22 08:12:35 指标 Web 线程(忙碌/总数):1/37 会话:0 总内存=789440 空闲=342658 09/22 08:13:35 指标 Web 线程(忙碌/总数):1/39 会话: 0 总内存=787520 空闲=34721135 个指标 Web 线程(忙碌/总):1/37 会话:0 总内存 = 789440 空闲 = 342658 09/22 08:13:35 指标 Web 线程(忙碌/总):1/39 会话:0 总内存 = 787520免费=34721135 个指标 Web 线程(忙碌/总):1/37 会话:0 总内存 = 789440 空闲 = 342658 09/22 08:13:35 指标 Web 线程(忙碌/总):1/39 会话:0 总内存 = 787520免费=347211

在此阶段之后,JRUN 以 50% 的 CPU 使用率运行。

09/22 08:14:35 指标 Web 线程(忙/总):1/39 会话:0 总内存 = 770112 空闲 = 211797 09/22 08:15:35 指标 Web 线程(忙/总):1/37会话:0 总内存=726208 空闲=249031 09/22 08:16:35 指标 Web 线程(忙/总):1/38 会话:0 总内存=715392 空闲=158240 09/22 08:17:35 指标 Web线程(忙碌/总数):1/39 会话:0 总内存=705600 空闲=239585 09/22 08:18:35 指标 Web 线程(忙碌/总数):1/36 会话:0 总内存=718848 空闲=175842 09/22 08:19:35 指标 Web 线程(忙/总):1/36 会话:0 总内存 = 687488 空闲 = 204397 09/22 08:20:35 指标 Web 线程(忙/总):1/36会话:0 总内存=701440 空闲=185422 09/22 08:21:35 指标 Web 线程(忙/总):1/35 会话:0 总内存=671744 空闲=154754 09/22 08:22:35 指标 Web线程(忙碌/总数):2/35 会话:0 总内存=664320 空闲=163835 09/22 08:23:35 指标 Web 线程(忙碌/总):1/33 会话:0 总内存=674752 空闲=195576 09/22 08:24:35 指标 Web 线程(忙/总):1/35 会话:0 总内存=661760 空闲=203445 09/22 08:25:35 指标 Web 线程(忙/总):1/35 会话:0 总内存=656576 空闲=174511 09/ 22 08:26:35 指标 Web 线程(忙碌/总数):1/35 会话:0 总内存=651968 空闲=194924 09/22 08:27:35 指标 Web 线程(忙碌/总数):1/35 会话: 0 总内存=632896 空闲=152896 09/22 08:28:35 指标 Web 线程(忙碌/总):1/36 会话:0 总内存=633984 空闲=215603 09/22 08:29:35 指标 Web 线程(繁忙/总计):1/34 会话:0 总内存=630720 空闲=198136 09/22 08:30:35 指标 Web 线程(繁忙/总计):2/35 会话:0 总内存=616512 空闲=140867 09/ 22 08:31:35 个指标 Web 线程(忙碌/总):1/36 会话:0 总内存 = 613824 空闲 = 140683 09/22 08:32:35 指标 Web 线程(忙碌/总):1/36 会话:0 总内存 = 605184空闲=166131 09/22 08:33:35 指标 Web 线程(忙碌/总):1/37 会话:0 总内存=608448 空闲=132906 09/22 08:34:35 指标 Web 线程(忙碌/总): 1/37 会话:0 总内存=609344 空闲=180291 09/22 08:35:35 指标 Web 线程(忙碌/总):1/36 会话:0 总内存=603008 空闲=161821 09/22 08:36: 35 个指标 Web 线程(忙碌/总):2/36 会话:0 总内存 = 604672 空闲 = 150526 09/22 08:37:35 指标 Web 线程(忙碌/总):1/37 会话:0 总内存 = 606144空闲=162952 09/22 08:38:35 指标 Web 线程(忙碌/总):1/36 会话:0 总内存=602048 空闲=136201 09/22 08:39:35 指标 Web 线程(忙碌/总): 1/36 会议:0 总内存=606656 空闲=116793 09/22 08:40:35 指标 Web 线程(忙碌/总):1/37 会话:0 总内存=602880 空闲=120984 09/22 08:41:35 指标 Web 线程(忙/总):1/36 会话:0 总内存=607424 空闲=112235 09/22 08:42:35 指标 Web 线程(忙/总):1/35 会话:0 总内存=607424 空闲=135657

4

2 回答 2

3

正如 Dan Short 在这里查询的那样,如果您能获得有关 JRun 或更重要的是 JVM 正在做什么的完整详细信息会更好。我已经多次处理这些问题,并建议您启用“指标和 GC 日志记录”。您可以在这两篇博客文章中找到有关如何执行此操作的详细信息...

http://www.cfwhisperer.com/post.cfm/10-steps-to-a-stable-and-performant-web-application-step-2

http://www.cfwhisperer.com/post.cfm/10-steps-to-a-stable-and-performant-web-application-step-3

启用此日志记录后,我们实际上可以看到发生了什么,我建议至少 24 小时的日志记录是准确的。

于 2011-09-21T12:32:43.033 回答
1

在花了很多时间之后,我发现存储在注册表中的客户端变量导致了整个问题,而用于清除每小时运行的客户端变量的 ColdFusion 线程占用了过多的 CPU 使用率。这是完整的故事。

http://www.thecfguy.com/post.cfm/strange-coldfusion-issue-jrun-eating-up-to-50-of-cpu

于 2011-10-31T11:19:40.247 回答