Você já tentou compilar a asset pipeline em uma máquina Ubuntu e recebeu a mensagem abaixo?
$ bundle exec rake assets:precompile RAILS_ENV=production

rake aborted!
Errno::ENOMEM: Cannot allocate memory - node
Poisé! Isso significa que o seu servidor não possui memória suficiente para executar a operação. Mas não se desespere, pois isso tem jeito. Provavelmente o seu servidor não está com o swap habilitado. Eu descobri isso montando um VPS com 512Mb RAM na Digital Ocean. Com o Rails 4.0 eu conseguia compilar na boa. Ao atualizar o projeto para o Rails 4.2, o problema se revelou. No próprio site da Digital Ocean possui um excelente tutorial ensinando como fazer. Como eu achei bem útil a informação, vou aproveitar a oportunidade e traduzí-lo para o português. h3. Algumas considerações sobre a tradução Você lerá coisas como "arquivo de swap". Eu preferi traduzir desta maneira. Apesar de já ter ouvido outros técnicos usarem o termo "arquivo de troca". Você verá também a autora falando sobre Virtual Private Server ou VPS - ela está se referindo às máquinas montadas na Digital Ocean, mas nada impede de você usar essas dicas num servidor físico. h2. Como adicionar swap no Ubuntu 12.04 / 14.04 h3. Sobre Linux Swapping A RAM do Linux é composta por pedaços de memórias chamados de páginas. Para liberar páginas de RAM, um "linux swap" podemo ocorrer e uma página de memória é copiada da RAM para um espaço pré-configurado no hard disk. Linux swaps permitem um sistema disponibilizar mais memória do que estava originalmente fisicamente disponível. No entanto, sawpping tem suas desvantagens. Porque os hard disks são muito mais lentos que a memória RAM, a performance do servidor privado virtual (aqui o autor está falando de um VPS, mas pode ser qualquer servidor) pode cair consideravelmente. Adicionalmente, limpeza de swap podem acontecer se o sistema for inundado por muitos arquivos sendo trocados e destrocados. h3. Verificar o espaço de Swap Antes de procedermos com a configuração do arquivo de swap, nós precisamos nos certificar que nenhum arquivo de swap está habilitado no VPS (servidor), dando uma olhada no sumário de uso do swap.
$ sudo swapon -s
Uma lista vazia irá confirmar que você não tem arquivos de swap habilitados:
Filename				Type		Size	Used	Priority
h3. Verificar o sistema de arquivo Após nós sabermos que nós não temos um arquivo de swap habilitado no servidor virtual, nós podemos verificar quanto espaço nós temos on servidor com o comando df. O arquivo de swap irá ocupar 256MB - como estamos usando somente em torno de 8% do /dev/sda, nós podemos proceder.
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda 20907056 1437188 18421292 8% /
udev 121588 4 121584 1% /dev
tmpfs 49752 208 49544 1% /run
none 5120 0 5120 0% /run/lock
none 124372 0 124372 0% /run/shm
h3. Criar e habilitar the arquivo de Swap Agora é hora de criar o arquivo de swap em si usando o comando dd:
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
“of=/swapfile” designa o nome do arquivo. Neste caso o nome é swapfile. Subsequentemente nós vamos preparar o arquivo de swap criando uma área de swap no linux:
$ sudo mkswap /swapfile
Teremos como resultado:
Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb
Finalizaremos ativando o arquivo de swap:
$ sudo swapon /swapfile
Você então será capaz de ver o novo arquivo de troca quando você visualizar o sumário de swap.
$ swapon -s
Filename Type Size Used Priority
/swapfile file 262140 0 -1
O arquivo permanecerá no servidor privado virtual até que a máquina seja reiniciada. Você pode se certificar que o swap será permanente adicionando-o no arquivo fstab. Abra o arquivo:
$ sudo nano /etc/fstab
Cole a seguinte linha:
/swapfile       none    swap    sw      0       0
"Swappiness" no arquivo deve ser configurado para 10. O pulo deste passo pode resultar em uma performance pobre, ao passo que configurá-lo para 10 irá fazer o swap agir como um buffer de emergência, prevenindo crashes por falta de memória. Você pode fazer isso com os seguintes comandos:
echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
Para prevenir o arquivo de ser "lido pelo mudo", você deveria configurar as permissões corretas para o arquivo de swap:
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
Post original: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04 Autor Original: Etel Sverdlov Traduzido por Cezinha Anjos.