Out of memory error building on CircleCi


#1

I’m building an EmberJS project in a CircleCI Trusty box with Phantom 2.1.1. I’ve recently updated ember-cli to 2.10.0 and emberjs to 2.8. Locally, it builds just fine, with PhantomJS using ~500MB of memory. On CircleCi, PhantomJS is using 3.7GB+ of memory, causing an Out of Memory error (they allow 4GB/container). I’ve ssh’d into the box and monitored active memory usage with top, but I don’t know how to get any other detail than what I’ve seen so far.

I have two questions:

  1. Is there a known cause for this leak and a possible remedy?
  2. How can I dive deeper into diagnosing the cause of the issue?
// memory-usage.txt
PID    RSS     %CPU COMMAND
 25609 3935648 108  phantomjs /home/ubuntu/candidio-app/node_modules/testem/assets/phantom.js http://app.candidio.dev:7357/1609/tests/index.html?hidepassed
 24147 584196  49.0 ember                                          
  2245 178252  0.0  /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
  1480 51012   0.2  /usr/bin/mongod --config /etc/mongod.conf
 25234 32940   0.8  /usr/lib/erlang/erts-5.10.4/bin/beam.smp -Bd -K true -A 4 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/couchdb -- -noshell -noinput -os_mon start_memsup false start_cpu_sup false disk_space_check_interval 1 disk_almost_full_threshold 1 -sasl errlog_type error -couch_ini /etc/couchdb/default.ini /etc/couchdb/local.ini -s couch
    46 20044   0.0  Xvfb :99 -screen 0 1280x1024x24
  2394 16888   0.0  /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf

#2

Would also love to know more about this, as I seem to be running into the same thing


#3

We are facing the same issue as well. (Ember v2.8)


#4

Did you try to upgrade to more fresh version? Beginning from ember-cli 2.11 it consumes less memory and produces less files in “tmp” folder