mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "j.random.programmer" <javadesigner@yahoo.com>
To: linux-kernel@vger.kernel.org
Subject: Threading behavior in 2.6.5 may be broken ?
Date: Wed, 9 Jun 2004 21:16:41 -0700 (PDT)	[thread overview]
Message-ID: <20040610041641.80112.qmail@web14202.mail.yahoo.com> (raw)

Hi all:

I just installed Fedora Core 2 (2.6.5.x smp 
kernel) on a Dual 1 Ghz P4 server with about 
1.5 GB of RAM and about 1.4 GB of swap. 

I am primarily a web/database developer, not 
a C programmer so I am writing this email from
an end-user's perspective.

I have a program that tries to create as many
threads as possible. This program was written by me 
for kicks/testing -- just to see what would happen.
I ssh into the server and run this program as root
under the sun 1.4.2 JDK.

On a 2.4.x kernel, from a Java JVM I could create
about 900 threads before the JVM crapped out with
a "cannot create more threads" type of error. Before
this point, I can create/run - say 700 threads - just
fine. This is good -- a clean failure at some point
and good behavior before then.

On this new kernel, the system gets totally wedged
when I run the same program and try to create
10,000 threads. Instead of getting a "cannot
create more threads" error, I now get an "out of
memory" error. Then the command line freezes in
the existing terminal window, ctrl+c does not work
(no matter how many times it's pressed), I cannot
launch another ssh session and cannot ssh into the
server again (although ping still works).

To recap:

[2.4.x]
700 threads --> fine
10,000 threads --> crap out at 900 something. 

[2.6.5]
700 threads --> fine
10,000 threads --> system wedged totally. 

I thought NPTL would create/run threads as if there
was no tomorrow ? So why do things seem to be worse
in 2.6.x ?

For right now, I'm going back to slackware with 2.4.x
but it would be great if someone fixed this problem
in future 2.6 kernels. [As as aside, I can create
as many threads as I want, say 20,000, without
any problems using the same program on my mac-osx
laptop].

I'd be happy to give a known kernel hackers on this
list root access to this box for the next few days 
if anyone is interested in seeing/poking around
for themselves (email me if so desired).

Best regards,

--j
javadesigner@yahoo.com

------------- The test program is shown below --------

/** Usage: java MaxThreads number-of-threads */
public class MaxThreads extends Thread
{
static int threadnum = 0;
public static void main(String args[])
	{
	if (args.length != 1) {
     System.out.println("java MaxThreads
num_threads");
     System.exit(1);
     }
	int n = Integer.parseInt(args[0]);
	System.out.println("test " + n + " threads..");
	for (int i=0 ; i < n; i++) {
		Thread t = new MaxThreads();
		t.start();
		}
	}

public void run() { 
	try {
		currentThread().sleep(5000); //5 sec
		System.out.println(
        "Thread:" + threadnum++ + "..done");
		}
	catch (Exception e) { e.printStackTrace(); }
	}
}           //~class MaxThreads
--------------------------------------------------









 


	
		
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 

             reply	other threads:[~2004-06-10  4:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-10  4:16 j.random.programmer [this message]
2004-06-15 20:40 ` Joe Korty
2004-06-10  5:31 j.random.programmer
2004-06-10 18:31 j.random.programmer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040610041641.80112.qmail@web14202.mail.yahoo.com \
    --to=javadesigner@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®