Cannot allocate memory error while computing files - Setup Swap space


ActionView::Template::Error (Cannot allocate memory - nodejs /tmp/execjs20131021-26716-fckzo3.js 2>&1
Nodejs is used to compile javascript at runtime. In RoR applications, this error comes when server is started in production mode which compiles the assets or while running rake assets:precompile.
check for swap space and allocate
Read more...

$ sudo swapon -s
Filename Type Size Used Priority


It confirms swap space doesnot exists.

Check for the memory space.

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            287M  8.0K  287M   1% /dev
tmpfs           118M  184K  118M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            295M     0  295M   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvda1      7.9G  4.2G  3.4G  56% /

We can use the /dev/xvda1  and allocate 512mb for swap.

Create swap file using dd command.
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
524288+0 records in
524288+0 records out
536870912 bytes (537 MB) copied, 34.9025 s, 15.4 MB/s

File name can be changed by changing the name to any from swapfile.

sudo mkswap /swapfile
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=3e47fe14-e167-452d-a7b2-e72e8e1a6gd2

sudo swapon /swapfile

swapon -s
Filename Type Size Used Priority
/swapfile                               file 524284 0 -1

use the editor of your choice and edit the fstab entry to avoid losing swap space on reboot.
sudo vi /etc/fstab

paste the below line:
/swapfile       none    swap    sw      0       0 


sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile





Bijendra Singh

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.

3 comments: