Вывод top можно отсортировать по памяти - нажать внутри top Shift/M.
А еще лучше запустить их cron каждые пять минут
top -b -o +%MEM | head -20 >> /tmp/top-memory.out
Так мы быстро поймем кто жрет память.
Еще вариант - посчитать PHP processes:
ps -ef | grep php | wc -l
Возможно ваш скрипт плохо умеет убивать лишние инстансы
Поможет ли в описанной ситуации создание свап файла? Или он таки уже есть?
Пока нет:
KiB Swap: 0 total,
Можно создать, но скорее всего это просто отсрочит проблему.