ProcessBuilder.start と Runtime.exec は *NIX システムで fork() を使用しているようです。これにより、子プロセスに親プロセスと同じ量のメモリが割り当てられているようです (たとえば 、この質問を参照)。多くのメモリを使用するプロセスからほとんどメモリを必要としないプロセスを起動したい場合、これは苦痛になる可能性があります。
このメモリ割り当てを行わない POSIX_SPAWN を使用してプロセスを起動する方法はありますか? 私が知っている唯一の方法はTanukiを使用することですが、私にとって理想的ではないことが判明しました。