Как уменьшить потребление оперативной памяти и поддерживать много процессов одной программы?
Никак. 
Потребление памяти определяется самой программой, способ запуска на это никак не влияет.Слышал что можно сделать раздел в оперативной памяти, а в нем раздел имитации жесткого диска и запускать оттуда, Это как раз способ уменьшить объем доступной памяти.
Посмотрите, сколько программа потребляет в пике и напишите скрипт запуска с разными параметрами так, что бы одновременно работало не более floor(ram/ramperprocess) процессов программы. А если программа требовательна к ресурсам цп, то лучше ограничить это число количеством ядер/потоков