Mus*_*fah 28 ruby ruby-on-rails ruby-on-rails-3 asset-pipeline ruby-on-rails-3.2
我们刚刚从Rails 3.0.7升级到Rails 3.2.5,并为登台服务器动态使用资产管道编译,但有时我们会面临这个异常!
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文件夹中没有做任何奇特或巨大的内存分配!
谢谢...
Kyl*_*son 81
花三分钟(如果你快速输入可能是两分钟)来添加交换文件到你的服务器很简单.
如果您正在运行Ubuntu(不确定这对其他Linux版本有多好),请按照DigitalOcean的本教程进行操作:
https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04
瞧!
tok*_*khi 12
基于提供的教程链接 Kyle Carlson
检查交换空间
sudo swapon -s
空列表将确认您没有启用交换文件:
Filename               Type        Size    Used    Priority
创建并启用交换文件(交换文件)
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
文件中的Swappiness应设置为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