Rails 3.2.5 from Rails 3.0.7にアップグレードし、ステージングサーバー用にアセットパイプラインコンパイルをオンザフライで使用していますが、一部はこの例外に直面するとき!
Showing /var/Rails/appname/app/views/common/_my_partial.html.haml where line # raised:
Cannot allocate memory - nodejs /tmp/execjs20120613-17090-thoc8f.js 2>&1
Extracted source (around line #):
Trace of template inclusion: app/views/layouts/application.html.haml
たとえば、coffeescriptsやimagesフォルダでは、派手なメモリ割り当てや大量のメモリ割り当ては行われません。
ありがとう...
サーバーにスワップファイルを追加するのに3分(速く入力した場合は2分)を費やすのは簡単です。
Ubuntuを実行している場合(これが他のLinuxフレーバーでどの程度うまく機能するかわからない場合)、DigitalOceanの次のチュートリアルに従ってください。
https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04
出来上がり!
Kyle Carlson
が提供するチュートリアルリンクに基づく
スワップスペースを確認してください
Sudo swapon -s
空のリストは、スワップファイルが有効になっていないことを確認します。
Filename Type Size Used Priority
スワップファイル(swapfile)を作成して有効にする
Sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
Linuxスワップ領域を作成します。
Sudo mkswap /swapfile
出力:
Setting up swapspace version 1, size = 262140 KiB no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb
スワップファイルをアクティブにします。
Sudo swapon /swapfile
スワップの概要が表示されるかどうかを確認してください。
swapon -s
Filename Type Size Used Priority
/swapfile file 262140 0 -1
完了!
スワップファイルを永続的にするため
Sudo nano /etc/fstab
次の行に貼り付けます。
/swapfile none swap sw 0 0
ファイルのスワップ性は10に設定する必要があります。この手順をスキップするとパフォーマンスが低下する可能性がありますが、10に設定するとスワップが緊急バッファーとして機能し、メモリ不足のクラッシュを防ぎます。
echo 10 | Sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | Sudo tee -a /etc/sysctl.conf
スワップファイルに適切なアクセス許可を設定して、一般の人が読み取れないようにします。
Sudo chown root:root /swapfile
Sudo chmod 0600 /swapfile
@tohiの回答に基づいて、端末に貼り付けることができるスクリプトを作成しました。
# Turn it (off) on
# Sudo swapoff -a
Sudo swapon -s
# Create a swap file
# 512k --> Swapfile of 512 MB
Sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
# Use the swap file
Sudo mkswap /swapfile
Sudo swapon /swapfile
# make sure the swap is present after reboot:
Sudo echo " /swapfile none swap sw 0 0 " >> /etc/fstab
# Set the swappiness (performance - aware)
echo 10 | Sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | Sudo tee -a /etc/sysctl.conf
# Change the permission to non-world-readable
Sudo chown root:root /swapfile
Sudo chmod 0600 /swapfile
更新:後で/swapfile
のサイズを変更する必要がある場合は、次の回答を確認してください: https:// askubuntu。 com/a/763717/508371
プロバイダーのサポートに連絡したところ、次の2つのメッセージで応答されました。
システム管理者がチェックしており、チケットにすぐに返信します。
そして今までこのエラーは表示されません:)将来も表示されないことを願っています...
ありがとう、そして最高の幸運...
多分それは助けになります:
Rails_ENV=production rake assets:clean
ウェブサーバーを再起動します/例:.
service Apache2 restart
次に:
Rails_ENV=production rake assets:precompile