2013-02-11 14 views
6

私はあなたの助けが必要です!ユニコーンがメモリを割り当てることができません

Nginx、MySQL、Solr、Unicornを使用してUbuntu 12.04にRailsアプリケーションをデプロイしました。

I, [2013-02-11T16:10:20.187989 #27547] INFO -- : Refreshing Gem list I, [2013-02-11T16:10:52.159198 #27547] INFO -- : unlinking existing socket=/var/www/staging/shared/unicorn.sock I, [2013-02-11T16:10:52.159488 #27547] INFO -- : listening on addr=/var/www/staging/shared/unicorn.sock fd=12 E, [2013-02-11T16:10:52.161513 #27547] ERROR -- : Cannot allocate memory - fork(2) (Errno::ENOMEM) /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:496:in fork' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:496:in spawn_missing_workers' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:142:in start' /var/www/staging/shared/gems/ruby/1.9.1/gems/unicorn-4.5.0/bin/unicorn_rails:209:in ' /var/www/staging/shared/gems/ruby/1.9.1/bin/unicorn_rails:23:in load' /var/www/staging/shared/gems/ruby/1.9.1/bin/unicorn_rails:23:in '

VDSは、RAMの1.5GBを持っており、それがユニコーンのために十分です:

cat /proc/meminfo 
MemTotal:  1585152 kB 
MemFree:   989580 kB 
Cached:   425296 kB 
Active:   348504 kB 
Inactive:   175356 kB 
Active(anon):  98488 kB 
Inactive(anon):  76 kB 
Active(file):  250016 kB 
Inactive(file): 175280 kB 
Unevictable:   0 kB 
Mlocked:    0 kB 
SwapTotal:  204800 kB 
SwapFree:   204800 kB 
Dirty:    12 kB 
Writeback:    0 kB 
AnonPages:   98564 kB 
Shmem:    3604 kB 
Slab:    71680 kB 
SReclaimable:  66144 kB 
SUnreclaim:   5536 kB 

私はunicorn_railsを持って

すべて言及したサービスは、次の言うその代わりに、ユニコーンの、開始されましたv4.5.0

ユニコーンは次のコマンドで開始します:

​​

私はここで間違っていますか?


は、うーん、私は以前、私は奇妙なエラーを以下していたことを、思い出し:

failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-1.9.3-p327' -c 'cd /var/www/staging/current && bundle exec unicorn_rails -c /var/www/staging/current/config/unicorn.rb -E production -D'" 

多分それは何らかの形でメモリの問題に関連している...

+1

時々同じ問題がありました。私のユニコーン労働者を減らすことは助けているようだが、それを解決していない。 – ScotterC

+0

@AntonAL、あなたは何人の労働者を始めようとしていますか? – WattsInABox

+0

これが役立つかどうかは不明ですが、Ubuntu 12.04でunicornを起動する私のプロジェクトへのリンクがあります。https://github.com/cyrusstoller/revtilt – Cyrus

答えて

2

をこれは、新しいプロセスをforkするときにエラーが起こっているようです。 config/unicorn.rbファイル内のワーカーを減らす必要があるかもしれません。各ワーカーはプロセスであり、各プロセスはアプリケーション環境をRAMにロードします。

関連する問題