Passenger と Nginx で Redmine インスタンスを実行しています。データベースにほんの一握りの問題があるだけで、Redmine は 80MB 以上の RAM を消費します。
Redmine のメモリ使用量を減らすためのヒントを共有できますか? Redmine インスタンスは 3 人が使用しており、私は速度を犠牲にしても構わないと思っています。
Passenger と Nginx で Redmine インスタンスを実行しています。データベースにほんの一握りの問題があるだけで、Redmine は 80MB 以上の RAM を消費します。
Redmine のメモリ使用量を減らすためのヒントを共有できますか? Redmine インスタンスは 3 人が使用しており、私は速度を犠牲にしても構わないと思っています。
実際には簡単にぶら下がっている果物はありません。存在する場合は、デフォルトでそれらを既に含めて有効にしています。
80 MB の RSS (仮想サイズはもっと大きくなる可能性があります) とは対照的に、実際にはかなり良い値です。通常の操作では、プロセスごとに 70 ~ 120 MB の RSS を使用します (展開モデルによって異なりますが、パッセンジャーではわずかです)。
andrea が提案したように、REE (これも無料の Ruby Enterprise Edition) を使用すると、全体的なメモリ使用量を約 3 分の 1 に減らすことができます。ただし、この節約は、複数のプロセスを実行する場合にのみ達成できます (それぞれが上記のメモリを必要とします)。REE は、コピー オン ライトと呼ばれる手法に合わせて Ruby を最適化することで、この節約を実現します。これにより、追加のアプリケーション プロセスが必要とするメモリが少なくなります。
申し訳ありませんが、(仮想の) 128 MB の vServer ではおそらく十分ではありません。小規模なインストールの場合、最小限のインストールを 256 MB に絞り込むことができるかもしれませんが、512 MB (データベースを含む) ではお尻の完全な苦痛以外の何物でもありません。
これは、Rails アプリケーションが PHP などとは対照的に動作するためです。実行中のアプリケーション サーバー インスタンスが必要です。そのインスタンスは通常、一度に 1 つの要求に応答でき、常にほぼ同じ量のメモリを使用します。したがって、メモリ消費量は、実際の負荷とは関係なく、実行するアプリケーション プロセスの数とほぼ同じです。しかし、システムを適切に調整すれば、1 つのプロセスからかなりの数の要求/秒を取得できます。
返信が非常に遅いかもしれませんが、同じ問題で行き詰まり、ルビー/レールのメモリ使用を最適化するためのリンクを見つけました。
他の誰かに役立つかもしれません。