@rivalsm
Прочитайте мой ответ к
Повышенное потребление памяти на VPS
Ваше приложение может некорректно работать с памятью (не высвобождать её или ещё как-то некорректно себя вести), но Linux давно уже способен самостоятельно справляться с подобными ситуациями. В крайнем случае - всегда есть OOM, который сделает kill -9 части процессов и память снова появится. Cannot allocate memory означает то, что ваша виртуалка на самом деле не имеет указанного количества _физической_ памяти.
Сначала переезжайте на kvm, потом продолжайте копаться с приложением.
Ситуация "вся память занята" - абсолютно нормальна, и это не повод к "Cannot allocate memory" при форке.