2

Amazon マイクロ インスタンス (無料利用枠に含まれるもの) で RoR アプリを実行しようとしています。rake assets:precompileただし、おそらくRAMが不足し、システムがプロセスを強制終了するため、正常に完了することができません。

まず、これがメモリ不足の問題であることをどのように確認できますか?

第 2 に、最初の質問への回答に関係なく、Ruby インタープリターに渡して RAM の消費量を減らすことができるパラメーターはありますか (アプリ全体のパフォーマンスを犠牲にしても)。GC チューニングは可能ですか? まったく何か?

注: ruby​​ on rails のメモリ使用量を減らすと同様

PS: ファイルベースのスワップ領域もシステムに追加しました。cat /proc/meminfoそれが役立つ場合の出力は次のとおりです。

MemTotal:         604072 kB
MemFree:          343624 kB
Buffers:            4476 kB
Cached:            31568 kB
SwapCached:        33052 kB
Active:            17540 kB
Inactive:         199588 kB
Active(anon):      11408 kB
Inactive(anon):   172644 kB
Active(file):       6132 kB
Inactive(file):    26944 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        292840 kB
SwapFree:         165652 kB
Dirty:                80 kB
Writeback:             0 kB
AnonPages:        149640 kB
Mapped:             6620 kB
Shmem:              2964 kB
Slab:              23744 kB
SReclaimable:      14044 kB
SUnreclaim:         9700 kB
KernelStack:        2056 kB
PageTables:         6776 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      594876 kB
Committed_AS:     883644 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        5200 kB
VmallocChunk:   34359732767 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB
4

2 に答える 2

1

config.assets.initialize_on_precompile = falseアセットをプリコンパイルするときにアプリとデータベース接続の初期化を避けるために、application.rb に入れます。それは役立つかもしれません。

もう 1 つのオプションは、ローカルでプリコンパイルしてから、コンパイルされたアセットをデプロイすることです。詳細はこちらhttp://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

于 2013-03-15T15:44:31.787 に答える