Coldfusion JRUN进程占用100%的CPU

Coldfusion JRUN进程占用100%的CPU,coldfusion,coldfusion-8,jrun,Coldfusion,Coldfusion 8,Jrun,我们经常遇到ColdFusion 8的性能问题。 在一个由3台前端服务器组成的服务器群中,有一台服务器不可用:由于某种原因,CPU会100%运行(在一个核心上),而且永远不会停机。在Windows任务管理器上检查时,jrun进程似乎正在使用100%的CPU资源 有人知道如何开始排除故障吗? 如何首先找出是什么导致了尖峰。 我对.net更感兴趣,在java/jrun故障排除方面,我感到有点茫然 我们目前的配置是: CF 8在Windows 2008 R2 64位上运行,带有Oracle 11g客户

我们经常遇到ColdFusion 8的性能问题。 在一个由3台前端服务器组成的服务器群中,有一台服务器不可用:由于某种原因,CPU会100%运行(在一个核心上),而且永远不会停机。在Windows任务管理器上检查时,jrun进程似乎正在使用100%的CPU资源

有人知道如何开始排除故障吗? 如何首先找出是什么导致了尖峰。 我对.net更感兴趣,在java/jrun故障排除方面,我感到有点茫然

我们目前的配置是:
CF 8在Windows 2008 R2 64位上运行,带有Oracle 11g客户端、4GB RAM和双核CPU。

是否使用客户端变量?三次检查您的代码,如果是,请确保它们不是在注册表中设置的,而是在数据库中设置的。

是否使用客户端变量?再次检查您的代码,如果需要,请确保它们不是在注册表中设置的,而是在数据库中设置的。

需要更多信息。当你说4吉比特的内存时,你是说4吉比特的内存,对吗?或者你真的在运行4Gig 64位操作系统?如果是这样的话,你应该多考虑一下。CF 64位使用大约80%以上的RAM来实现等效效果——换句话说,2gig 64位堆大致相当于1gig 32位堆

我已经说过,对于堆大小,我不会从我们中任何一个没有实际查看过您的系统的人那里接受任何笼统的建议。调整JVM需要经验,但也需要系统的实际知识、预期流量等

我的另一个意见是,你一定要检查客户变量。1个堆芯被占用的事实使我认为清除任务正在挂起(很可能是由于Paul所说的注册表中的客户端变量。或者可能是计划任务(cf监视器或fusion reactor可以帮助梳理正在运行的请求)


另一个堆栈溢出线程提供了一些额外的帮助。忽略所有堆栈跟踪内容,并查看特定的“要检查的区域”。创建要尝试的内容列表,然后根据易于实现的程度(或可能的原因)排序当你说4千兆的RAM意味着一个4GIG堆的时候,或者你真的在运行一个4GIG 64位OS吗?如果是这样的话,你应该考虑得到更多。CF 64位使用相当于80%个RAM的等效效果,换句话说,一个2G。ig 64位堆大致相当于1gig 32位堆

话虽如此,我不会从我们中任何一个没有真正看过您的系统的人那里得到任何关于堆大小的笼统建议。调优JVM需要经验,但也需要系统的实际知识、预期流量等

我的另一个意见是,您应该明确检查客户端VAR。1个核心被占用的事实使我认为清除任务正在挂起(很可能是由于Paul所说的注册表中的客户端VAR。或者可能是计划任务(cf监视器或fusion reactor可以帮助梳理正在运行的请求)


另一个堆栈溢出线程提供了一些额外的帮助。忽略所有堆栈跟踪内容,并查看特定的“要检查的区域”。创建要尝试的内容列表,然后根据易于实现的程度(或可能的原因)排序并开始尝试删除列表中可能出现的项目。

看看这个问题

我在正常时间间隔内面临50%的CPU使用率,这是由于存储在注册表中的客户端变量造成的。尽管您没有使用客户端变量,但它存储在注册表中,而您不知道Application.cfc/.cfm文件中添加了相应的设置

另外,试着找出引起问题的线程并获取它的stracktrace,这将有助于您对此进行更多的调查。在上面的链接的回答中,我已经发布了我的博客文章的链接,并解释了如何使用visualvm和jconsole获取邪恶线程的stacktrace


希望能有所帮助。

看看这个问题

我在正常时间间隔内面临50%的CPU使用率,这是由于存储在注册表中的客户端变量造成的。尽管您没有使用客户端变量,但它存储在注册表中,而您不知道Application.cfc/.cfm文件中添加了相应的设置

另外,试着找出引起问题的线程并获取它的stracktrace,这将有助于您对此进行更多的调查。在上面的链接的回答中,我已经发布了我的博客文章的链接,并解释了如何使用visualvm和jconsole获取邪恶线程的stacktrace


希望这有帮助。

如果只有一台服务器,并且您确定代码库是相同的,我将进入坏服务器和一台好服务器的cfadmin,逐行比较设置摘要。确保设置之间没有明显的差异。请特别注意DB d的版本河流


您也没有提到服务器硬件配置是否相同。正如Mark指出的,4G RAM可能不足以进行64位安装。RAM很便宜。RAM是您的朋友。获取更多信息。

如果只有一台服务器,并且您确定代码库是相同的,那么我将进入cfadmin,查找坏服务器和一台服务器并逐行比较设置摘要。确保设置之间没有明显差异。请特别注意DB驱动程序的版本


您也没有提到服务器硬件配置是否相同。正如Mark指出的,4 gig RAM可能不足以进行64位安装。RAM很便宜。RAM是您的朋友。了解更多。

执行此操作的总是同一台服务器吗?还是有所不同?这听起来像是服务器管理问题,而不是编程问题哦,它属于你。@Sharondio:是的,它总是一样的server@PeterBoughton: