問題タブ [ruby-enterprise-edition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - ruby 1.8.7 では 6xmap が機能するのに 1.8.6 では機能しないのはなぜですか?
次のコード スニペットは、Mac OS X の 1.8.7 では正常に動作しますが、Ubuntu の 1.8.6 では動作しません。なんで?回避策はありますか?
1.8.7 で動作:
しかし、1.8.6 にはありません:
なぜ違いがあるのですか?1.8.6 の回避策は何ですか?
ruby-on-rails - Ruby 1.8.7 対 Ruby エンタープライズ
私が理解していることから、REEはガベージコレクションの点で優れており、Passengerと組み合わせるとはるかに高速です。
Ruby 1.8.7 ではなく REE を使用することの欠点はありますか? REE のランダムなバグ? 互換性エラー?初心者には不向き?
これは私が見つけた唯一の結果です: Ruby Enterprise Edition vs Ruby 1.9
どんな助けでも大歓迎です。
ruby-on-rails - Rails/Passenger: ロードするファイルがありません -- お金 (MissingSourceFile)
Rails アプリケーション (開発では問題なく動作します) を運用サーバーにデプロイしようとしています。Apache、Passenger、および必要な gem をインストールして構成しました。Apache を再起動してサーバーに移動すると、次のエラーが表示されます。
gem list money
ショー:
サーバー上のirb
セッション:
この宝石は次の場合に必要ですconfig/environment.rb
:
何が起きてる?
編集:宝石はルートとしてインストールされました:
編集 2:そのロードブロッキングで成功しなかった後、Passenger は Ruby Enterprise Edition に合わせて作成されていることに気付いたので、それをインストールしてみました。その後、Ruby Enterprise のバージョンの gem を使用して、必要なすべての gem をインストールしました。Apache を再起動してサーバーに移動すると、次のようになります。
Rubyの古いバージョンでも新しいバージョンでも、ロガーを必要とすることに問題はありません。
パスまたはアクセス許可で何かが起こっているに違いありませんが、私は Passenger と Ruby Enterprise Edition の両方のインストーラーの指示に正確に従いました。他のアイデアはありますか?
ruby-on-rails - Rails/Passenger: ロードするファイルがありません -- バンドラー
古いバージョンの Rails (2.2.2) を実行しているアプリケーションと、Ruby Enterprise Edition 1.8.7 を使用して立ち上げて実行した Passenger があります。しかし、Rails の古いバージョンと Ruby 1.8.7 の間にいくつかの非互換性があることがすぐにわかり、REE 1.8.6 にダウングレードすることにしました。ただし、現在、アプリケーションは次のエラーで起動に失敗していますLoadError
:
一部のパスが正しく設定されていないと思いますが、どこを見ればよいかわかりません。助言がありますか?
imagemagick - 8.04 からのアップグレード後に Ubuntu 10.04 で RMagick が壊れる
最近、サーバーを Ubuntu 8.04 から 10.04 にアップグレードしましたが、RMagick が壊れているようで、次のエラーが表示されます。
libWand.so.10: 共有オブジェクト ファイルを開けません: そのようなファイルやディレクトリはありません - /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/rmagick-2.12.2/lib/RMagick2 。それで
アイデアを求めて Web を調べた結果、これを libMagickCore.so.2.0.1 にシンボリック リンクし、libWand.so.10 を libMagickWand.so.2.0.1 にシンボリック リンクしてみることにしました。それは私に新しいエラーをもたらしました:
この RMagick のインストールは ImageMagick 6.3.7 で構成されましたが、ImageMagick 6.5.7-8 が使用されています。
それ以来、私はあらゆる種類のグーグルと、RMagick とさまざまな ImageMagick ライブラリのアンインストールと再インストールを試みてきましたが、うまくいきませんでした。一部のライブラリは、ソースから構築されているか、以前のスタッフによって「手動で」インストールされている可能性があると思います。
---(後で追加:)
RMagick 2.13.0 または 2.13.1 は ImageMagick 6.5.7 で動作するように修正されているようですが、これらのバージョンのいずれかを gem インストールに指定しようとすると、次のいずれかになります。 2 が「gem list」に表示され、2.12.2 のみが Rails アプリによって読み込まれます。(b) 2.13.0 を指定すると、「エラー: どのリポジトリにも有効な gem 'rmagick' (= 2.13.0) が見つかりませんでした」というエラーが表示されます。「gem -v」は1.3.5と言っています。
- -(以降:)
http://wiki.joyent.com/all-accelerators:kb:rubygemsで説明されているように RUbyGems を 1.3.7 に更新しても、何も変わっていません。
ruby-on-rails-3 - ruby エンタープライズと Rails<3 アプリ
rubyEE を使用して Redmine を実行しようとしていますが、action_controller の問題に常に直面しています。ユニコーンを実行していると、次のようになります。
vendor ディレクトリを削除すると、次のようになります。
ただし、これらの宝石がインストールされています。
ruby-on-rails - RoR: Ruby から Enterprise Ruby Edition へ (メモリ節約なし?)
ここで説明されているように、Ruby Enterprise Edition に切り替えようとしました: http://www.rubyenterpriseedition.com/download.html (ケース: Ubuntu)。
REE は約 30% のメモリ節約を約束しますが、私の場合、以前と同じように、それぞれ約 100MB の 3 つの ruby インスタンスがまだあります (これは、ほとんどアイドル状態のサーバーには多すぎると思います...)。
そのため、「古い」ルビーがまだ使用されていると思われますが、よくわかりません。REEのインストール後(Passengerの指示に従って)、Apache構成ファイルで変更したのは、いくつかのパスです。
以前:
LoadModule
Passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
PassengerRuby /usr /bin/ruby1.8
新しい、REE 付き:
LoadModule Passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.14/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2. 14
PassengerRuby /usr/local/bin/ruby
他に何かする必要がありますか (たとえば、他のパスを変更するなど)? もしそうなら、何をどのように?
ご協力ありがとうございました!
トム
ruby - Ruby Enterprise Edition の新規インストール - 「gem」は認識されるが、「sudo gem」は認識されない
Ruby Enterprise Edition を新しい Ubuntu 10.04 サーバーにインストールしました。私は最初の gem をインストールしようとしましたが、今まで見たことのない奇妙な問題に遭遇しました。
sudo を使用せずに「gem」と入力すると、gem に関する宣伝文句が表示されます。root に切り替えてgem install gemname
、gem exe へのフル パスを実行または指定できますが、そうするとsudo gem install gemname
奇妙なエラーが発生しますsudo: gem: command not found
。
sudo なしで行うgem install gemname
と、gem フォルダーを変更する権限がないことがわかります (これは十分公平です)。基本的に、sudoすると何かおかしなことが起こっているようです。
次のように、Ruby bin パスを .bashrc ファイルの PATH 変数に追加しました。
次に、.bashrc を .bashrc でリロードしましsource
た。アイデアはありますか?
ruby-on-rails - Directory .ext/rdoc already exists で RDoc の生成が失敗する
Ruby Enterprise をインストールしたばかりで、Ruby Enterprise インストーラーによって呼び出されるこのクラッシュ コマンドの出力ディレクトリを変更できません。
では、この例外を満たすためにディレクトリを削除するにはどうすればよいですか。
RDoc ドキュメントの生成 ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./runruby.rb --extout=.ext -- "./bin/rdoc " --all --ri --op ".ext/rdoc" "."
ディレクトリ .ext/rdoc は既に存在しますが、RDoc ディレクトリではないようです。RDoc は既存のファイルを破壊するリスクを冒したくないため、( --op オプションを使用して) 別の出力ディレクトリ名を指定する必要があります。
ruby - RubyEnterprise1.8.7に変換した後のメモリサイズの増加
Ruby1.8.6からRubyEnterprise1.8.7 p334にアップグレードすると、メモリサイズがほぼ2倍になります。これは、アップグレードした5台のFedora8サーバーのすべてで発生しました。Rails1.2.6をPassenger3.0.4で実行します。
Muninは、からvsz列とrsz列を合計することにより、すべてのプロセスのメモリサイズを取得します$ ps axo pid,comm,pmem,vsz,rsz
。(仮想メモリサイズと常駐メモリサイズはどちらも同じ量だけ増加します)
これらの列は通常、プロセスで実際に使用されるメモリの量を誇張していることを認識していますが、これを使用して1.8.6、次に1.8.7 REEを測定した場合、それらは等しく肥大化するはずであり、したがって比較可能です。
さらに、マシンのコミットされたメモリ(/ proc / memstatにリストされている)が定期的にオーバーコミットされています。これは新しいことです。コミットされたメモリの量が大幅に増加し、現在スワップスペースに入っているようです。
ガベージコレクションはまだ調整していませんが、それが全体的なメモリフットプリントにどのように影響するかはわかりません。
Phusion FAQで推奨されているように、GC.copy_on_write_friendly変数をオンにしました。
この100%のメモリ使用量の増加の説明は何ですか?どうすれば修正できますか?修正方法、またはさらに優れた監視/デバッグ方法に関するアイデアをいただければ幸いです。
ありがとう。
- -アップデート
パフォーマンスを確認するために、1台のサーバーで実行中のインスタンスの数(PassengerMaxPoolSize)を12から10に減らしました。もう1つは、PassengerPoolIdleTimeを15分に引き上げました。コントロールとして使用されている3分の1があります。
非エンタープライズバージョン1.8.7p334をサーバーに配置して、1.8.7かEnterpriseEditionかを確認することを検討しています。
他の誰かがこのタイプの問題の経験がありますか?
個々のRailsプロセスを見ると、passenger-memory-statsで示されているように、1.8.6ではプロセスあたり約120MB、REE1.8.7ではプロセスあたり175MBです。
---アップデート2
REE 1.8.7と比較するために、MRI1.8.7をサーバーに配置しました。結果はさらに悪化し、メモリ常駐サイズ数と乗客メモリ統計が高くなりました。もちろん、スワッピングが始まりました。
これにより、1.8.7の方が1.8.6よりもフットプリントが大きいと私は信じています。
---アップデート3
サーバーにMRI1.8.7を配置しましたが、メモリ使用量の点でMRI 1.8.6よりもはるかに悪かったので、すぐにMRI1.86に戻りました。
私は、passenger-memory-statsにリストされているように、Railsプロセスサイズの平均を実行しました。REE1.8.7プロセスは73MB大きく、かなり大きいようです。
これは、同じメモリフットプリントに収まるように実行するプロセスを大幅に減らす必要があることを意味します。
より少ないプロセスでどのように機能するかを確認します。GCチューニングも始めています。
---アップデート4
Ruby1.8.7はRails1.2.6をサポートしていないようです。1.8.7の最初の公式にサポートされているバージョンはRails2.1です。アップグレード後に、それが問題の原因であるかどうかがわかります。