Como você pergunta sobre programa , você pode usar cgroups :
Crie um cgroup chamado like group1 com um limite de memória (de 50GB, por exemplo, outros limites como CPU são suportados, no exemplo CPU também é mencionado):
cgcreate -g memory,cpu:group1
cgset -r memory.limit_in_bytes=$((50*1024*1024*1024)) group1
Em seguida, se o aplicativo já estiver em execução, leve o aplicativo para este cgroup:
cgclassify -g memory,cpu:group1 $(pidof your_app_name)
Ou execute seu aplicativo neste cgroup:
cgexec -g memory,cpu:group1 your_app_name