You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "weldon washburn (JIRA)" <ji...@apache.org> on 2007/05/30 16:18:15 UTC
[jira] Assigned: (HARMONY-4001) [drlvm][threading] DRLVM can't
start more then ~1600 threads due to memory consumption (win32).
[ https://issues.apache.org/jira/browse/HARMONY-4001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
weldon washburn reassigned HARMONY-4001:
----------------------------------------
Assignee: weldon washburn
> [drlvm][threading] DRLVM can't start more then ~1600 threads due to memory consumption (win32).
> -----------------------------------------------------------------------------------------------
>
> Key: HARMONY-4001
> URL: https://issues.apache.org/jira/browse/HARMONY-4001
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Windows Server 2003 (32-bit)
> Reporter: Sergey Kuksenko
> Assignee: weldon washburn
> Priority: Critical
> Attachments: Test.java
>
>
> Attached test shown that DRLVM is not avaliable to have more then ~1600 threads running simultaneously.
> Even such empty threads as in the test.
> This bug is critical to running SpecJAppServer2004 because of even simple txRate=100 needs ~1300 running threads.
> The test tries to run 3000 simultaneously threads (doing nothing).
> RI pass the test succesfully.
> Perfmon data shows the following:
> - starting each thread adds (in average) 1.24M of memory to the process address space.
> - so the test on 1636 thread reached 2G Windows limit and hung up.
> Setting to Sun1.6 -Xss1M options which significially increase stack size for each thread leads to failure too (after 1827 thread). But RI throws the follwoing exception:
> Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
> at java.lang.Thread.start0(Native Method)
> at java.lang.Thread.start(Thread.java:597)
> at Test.main(Test.java:17)
> 1. DRLVM should have the similar option for managing thread stack size.
> 2. DRLVM should correctly throw exception in this case.
> 3. default stack size shoule be less then 1M.
> I found that "vm\thread\src\thread_java_basic.c" has harcoded default thread stack size as 1M. But setting it to 16K doesn't change the test behavior and even in this case I can see with perfmon that each thread use 1.24M.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.