On 02/04/11 11:33, Bill Shannon wrote:
This isn't really specific to OpenSolaris since it also happens on
Solaris 10, but maybe someone here can give me some ideas?

I have a java program that is failing because it does something that calls
fork1(), which fails with ENOMEM (confirmed using truss):

27010/2: fork1() Err#12 ENOMEM

I've used both the 32-bit and 64-bit versions of the JVM. Using the 64-bit
version, I see the heap expand to just over 4GB before it forks:

27010/30: brk(0x107DE3D90) = 0

I have almost 160 GB of swap space:

$ swap -s
total: 806336k bytes allocated + 167872k reserved = 974208k used,
159746184k available

It doesn't seem like it can possibly be running out of swap space.

What other reasons would cause fork1() to fail with ENOMEM?
_______________________________________________

The vm system is rather fond of using ENOMEM as a generic error bucket.
If you have a way of reproducing the problem, a bit of DTrace will quickly turn up the reason. I assume it's only the 32 bit version
that is failing to fork, right?

- Bart


--
Bart Smaalders                  Solaris Kernel Performance
bart.smaald...@oracle.com       http://blogs.sun.com/barts
"You will contribute more with Mercurial than with Thunderbird."
"Civilization advances by extending the number of important
 operations which we can perform without thinking about them."
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to