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.