A Developer.com ISV provides a simple Java application which calls
Runtime.getRuntime().exec() and forks new jvms. Each jvm instantiates a fixed
number of work threads that eat CPU and stress test jvm and OS. I/O associated
with each java.lang.Process is attached to java.io.InputStream/OutputStream
reference. On other platforms such as Solaris 2.6, Linux, Win32, HPUX,
the jvms appear stable and run continously. However, on Solaris 7/8, the
forked jvms exhibit growth (top/prstat) in resident and total memory used,
plus rapid growth in associated lwps. The growth continues unabated for
several minutes until the jvms throw OutOfMemoryErrors at around 80MBs
total memory size each and several hundred threads each.