Runtime.exec() fails when running a small program from a large Java process unless more than 2X the swap space needed for the large Java process is available. This violates reasonable expectations for resource usage and impacts the useability of Java on Solaris for large memory server applications. It has previously been proposed that posix_spawn (3C), system (3C) or popen(3C) be used to replace the current implementation of Runtime.exec() with fork() in order to correct this problem for hosted JVM's. However, to date this remedy has not been applied. See attachment for test case. Problem is was found on the 32 bit and 64-bit JVM from JDK 1.5.0_06 running on a four-way, 8G Opteron box under Solaris 10.