Используем Yii2 Advanced App Template, тестируем все приложения на отдельной виртуальной машине. После запуска тестов все идёт нормально, но чем дольше идёт тестирование, тем больше памяти съёдает PHP. В определённый момент памяти на ВМ стаёт недостаточно и тесты валятся. Сейчас у нас около 1000 тестов. Пик памяти выделеной по PHP перед обвалом, примерно 600Мб.
Тесты запускаем с помощью команды: codecept run --steps --xml -n --no-colors
Вот последнее, что было записано в лог:
2015-03-30 09:23:08 [][-][-][error][yii\base\ErrorException:2] exception 'yii\base\ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'proc_open(): fo...', '/opt/.composer/...', 974, Array)
#1 /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
#3 /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
#4 /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
#5 /opt/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php(133): Symfony\Component\Console\Application->renderException(Object(WebDriverCurlException), Object(Symfony\Component\Console\Output\StreamOutput))
#6 /opt/.composer/vendor/codeception/codeception/codecept(27): Symfony\Component\Console\Application->run()
#7 {main}
Мы пробовали вызывать сборщик мусора gc_collect_cycles();
после каждого теста и после каждого suit, но не помогло.
В чём может быть проблема и как её обойти? Заранее спасибо за ответы!