かなり複雑なネストされたハッシュデータ構造をいくつか作成し、条件付きでデータベースレコードを作成するスクリプトを繰り返しています。これは、アクティブなレコードを使用するスタンドアロンのスクリプトです。数分間実行した後、私はサーバーの応答性に大きな遅れがあることに気づき、スクリプトがnice +19
に設定されている間に、サーバーの総メモリの85%〜90%を安定して楽しんでいることを発見しました。ルビのローカル変数とインスタンス変数の違い
この場合、インスタンス変数を読みやすくするために使用しています。ループ外で何が再利用されるのか、それから何が再利用されないのかを知るのに役立ちます。インスタンス変数が必要ないときにインスタンス変数を使用しない理由はありますか?ローカル変数とインスタンス変数のメモリ割り当てと管理に違いはありますか? @variable = nil
が必要なくなったときに設定するのに役立つでしょうか?
合計サーバーメモリは何ですか? Rubyはあるレベルでガベージコレクションを開始します。 – stef
その4G仮想サーバー。どの時点でガベージコレクションが開始されるのか分かりますか? – fflyer05