harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "weldon washburn (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-4001) [drlvm][threading] DRLVM can't start more then ~1600 threads due to memory consumption (win32).
Date Thu, 31 May 2007 06:41:15 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-4001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

weldon washburn updated HARMONY-4001:
-------------------------------------

    Attachment: ManyThreadsTest.java

> [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: ManyThreadsTest.java, 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.


Mime
View raw message