My apologies. I intended to send this to the LINUX-390 list. Thanks, Jon
-----Original Message----- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] Behalf Of Jon Brock Sent: Friday, December 08, 2006 2:06 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Fork returning EAGAIN This may not be the correct place to ask this question, but Google isn't helping a ton and I can't bear the thought of posting into most other Linux fora, so I'm going to run this past you folks first. To cut to the chase, as part of an effort to figur out why we had trouble with a prof-of-concept application that ate every CPU cycle our IFL could give it, I have written a couple of small Ruby scripts as a stress-testing mechanism. The basic idea is: * Create a small test database on our problematic MySQL image. (Database = 100,000 rows, each of which has a numeric key and one field consisting of 30 random alphabetic characters.) this part is fine. * On another guest, fork a bunch of processes, each of which will read a random row from the database, generate another random 30-character string, and update the record. This procedure goes fine as long as I fork a few thousand processes. Once I reach 8500 or so, however, I start receiving this: Resource temporarily unavailable - fork(2) (Errno::EAGAIN) According to everything I can find, EAGAIN on fork(2) indicates that the system can not allocate sufficient memory to create the child process, but if I issue "free -m" while my stress test script is running I show plenty of available memory. Am I hitting a per-user process limit or some such? Any ideas? TIA, Jon