首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails应用程序挂起,Ruby使用100% CPU

Rails应用程序挂起,Ruby使用100% CPU
EN

Stack Overflow用户
提问于 2010-01-08 03:42:58
回答 5查看 3.4K关注 0票数 1

我有一个运行Phusion Passenger的apache2服务器。在这台机器上,我有两个虚拟主机,每个都是这样设置的(第二个virtualhost...but的路径不同,其他指令是相同的)

代码语言:javascript
复制
 ServerName beta.mysite.us     DocumentRoot "/var/www/beta/mysite/public"
代码语言:javascript
复制
<Directory "/var/www/beta/mysite/public">
    RewriteEngine on
    AllowOverride All
    Options FollowSymLinks
</Directory>
# http://www.modrails.com/documentation/Users guide.html
PassengerAppRoot "/var/www/beta/mysite"
RailsEnv development
PassengerMaxPoolSize 6
PassengerDefaultUser mysite
# PassengerHighPerformance does come at a trade off of lack of support for mod_rewrite
PassengerHighPerformance off
RailsSpawnMethod conservative
RailsFrameworkSpawnerIdleTime 0
RailsAppSpawnerIdleTime 0
PassengerPoolIdleTime 300

ErrorLog "/var/log/httpd/mysite-beta-error_log"
CustomLog "/var/log/httpd/mysite-beta-access_log" common

Apache启动得很好。我可以转到其中一个虚拟主机,它将加载Rails并工作。当我转到第二个虚拟主机时,会产生一个ruby进程(根据ps awuxf的说法是“Rails: /var/www/mysite/current”),并使用100%的CPU。这个进程永远不会退出。此时,两个虚拟主机都没有响应。如果我杀死了有问题的ruby进程,另一个ruby进程会取而代之,并使用100%的cpu。如果我杀死这些进程大约5-6次,那么两个虚拟主机都会响应,但不知何故,它们在运行相同的Rails应用程序?!

我在这台机器上有另一个虚拟主机,它没有安装phusion passenger..This one,从来没有出现任何问题。

如有任何帮助或想法,我们将不胜感激!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-08 04:18:40

我建议改用nginx。

票数 0
EN

Stack Overflow用户

发布于 2010-01-08 04:57:59

我在phusion passenger上遇到过类似的问题,调试没有成功。后来,我用mod_proxy换成了apache2+mongrel。不过,我看到nginx的稳定性最好。nginx FTW :)

票数 0
EN

Stack Overflow用户

发布于 2010-01-08 06:47:43

最明显的事情是检查您的应用程序中没有任何无意的无限循环或不可能完成的条件。在一个太大而内存无法容纳的表上意外地执行find(: all )太容易了。

它是立即卡住还是你必须做些什么才能触发它?例如,加载特定的页面,或者根本不加载页面。在初始化器中可能有一些东西会引起麻烦。

能够启动脚本/控制台总是一个好兆头,特别是如果您可以加载记录的话。你的描述中没有太多信息。复制粘贴'ps aux‘的输出会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2023131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档