2009-08-03 10 views
0

今日、私のレール(2.1.0)アプリケーションは非常に遅く、応答しなくなっています。 断続的に発生します。 それは時には動作しますが、再び動作しません。rails console does not load

動作しないと、「スクリプト/コンソール制作」を読み込めません。 どこが詰まっているか知りたい。 どの部分が問題の原因であるかを知るために、コンソールを段階的にロードするにはどうすればよいですか?

ありがとうございました。他のすべてが失敗した

サム

答えて

1

サーバー上のメモリが不足している可能性があり、マシンが応答できなくなる可能性があります。 mongrelを実行している場合は、その上にmonitを取得して、使用可能なメモリを制限し、必要に応じて再起動します。

Passengerを使用している場合は、インスタンスの量を制限してください。すでにクローンジョブを使用して大きすぎる場合は、乗客のインスタンスを殺すスクリプトを検索してください。

メモリに問題がなければ、おそらくもっと情報が必要です。

+0

はい。誰かがサーバーのリソースの大部分を占める平均的なスクリプトを実行していたことが判明しました。 –

0

は、スクリプト/アプリケーションが実際に行っていることをデバッグするためにstraceのを使用することができるはずです。これは非常に冗長な情報を生成するため(そしてほとんどはI/Oアクションに限られます)、最後のリゾートの1つに過ぎないことに注意してください。

を例

1

は「straceのスクリプト/コンソール生産」を使用してみてくださいあなたができる場合は、一時的に削除するすべてのプラグイン/宝石を試してみて、アプリが起動しますかどうかを確認します。そのうちの1つが問題の可能性が高いです。

script/consoleファイルにはこれが含まれています。

#!/usr/bin/env ruby 
require File.dirname(__FILE__) + '/../config/boot' 
require 'commands/console' 

あなたはRailsの2.1のcommands/console file hereを見つけることができます。

irbを読み込んでそこからアプリケーションを読み込もうとすることをお勧めします。

require 'config/boot' 

それが動作する場合、問題となる部分を見つけるために言及したcommands/console scriptの残りの部分をステップ実行してみてください。

ブートファイルがロードされない場合は、config/boot.rbファイルを調べて、どの部分が動作していないかを判断できるかどうかを確認してください。がんばろう!