Emmanuel Venisse wrote:
Can you send the list?

Below is the list of threads from jdp. Continuum is the first application to start followed by Archiva.

threads
Group system:
  (java.lang.ref.Reference$ReferenceHandler)0x12a9                              
             Reference Handler                                      cond. 
waiting
  (java.lang.ref.Finalizer$FinalizerThread)0x12aa                               
             Finalizer                                              cond. 
waiting
  (java.lang.Thread)0x12ab                                                      
             Signal Dispatcher                                      running
Group main:
  (java.lang.Thread)0x1                                                         
             main                                                   running
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12ae                        
             defaultScheduler_Worker-0                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12af                        
             defaultScheduler_Worker-1                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b0                        
             defaultScheduler_Worker-2                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b1                        
             defaultScheduler_Worker-3                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b2                        
             defaultScheduler_Worker-4                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b3                        
             defaultScheduler_Worker-5                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b4                        
             defaultScheduler_Worker-6                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b5                        
             defaultScheduler_Worker-7                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b6                        
             defaultScheduler_Worker-8                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b7                        
             defaultScheduler_Worker-9                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b8                        
             defaultScheduler_Worker-10                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12b9                        
             defaultScheduler_Worker-11                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12ba                        
             defaultScheduler_Worker-12                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12bb                        
             defaultScheduler_Worker-13                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12bc                        
             defaultScheduler_Worker-14                             cond. 
waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12bd
 Thread-2                                               cond. waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12be
 Thread-3                                               cond. waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12bf
 Thread-4                                               cond. waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12c0
 Thread-5                                               cond. waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12c1
 Thread-6                                               cond. waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c2                        
             defaultScheduler_Worker-0                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c3                        
             defaultScheduler_Worker-1                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c4                        
             defaultScheduler_Worker-2                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c5                        
             defaultScheduler_Worker-3                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c6                        
             defaultScheduler_Worker-4                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c7                        
             defaultScheduler_Worker-5                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c8                        
             defaultScheduler_Worker-6                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12c9                        
             defaultScheduler_Worker-7                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12ca                        
             defaultScheduler_Worker-8                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12cb                        
             defaultScheduler_Worker-9                              cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12cc                        
             defaultScheduler_Worker-10                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12cd                        
             defaultScheduler_Worker-11                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12ce                        
             defaultScheduler_Worker-12                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12cf                        
             defaultScheduler_Worker-13                             cond. 
waiting
  (org.quartz.simpl.SimpleThreadPool$WorkerThread)0x12d0                        
             defaultScheduler_Worker-14                             cond. 
waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12d1
 Thread-7                                               cond. waiting
  
(org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable)0x12d2
 Thread-8                                               cond. waiting
  (java.lang.Thread)0x12d3                                                      
             ContainerBackgroundProcessor[StandardEngine[Catalina]] sleeping
  (org.apache.tomcat.util.threads.ThreadWithAttributes)0x12d4                   
             TP-Processor1                                          cond. 
waiting
  (org.apache.tomcat.util.threads.ThreadWithAttributes)0x12d5                   
             TP-Processor2                                          cond. 
waiting
  (org.apache.tomcat.util.threads.ThreadWithAttributes)0x12d6                   
             TP-Processor3                                          cond. 
waiting
  (org.apache.tomcat.util.threads.ThreadWithAttributes)0x12d7                   
             TP-Processor4                                          running
  (java.lang.Thread)0x12d8                                                      
             TP-Monitor                                             cond. 
waiting
Group QuartzScheduler:defaultScheduler:
  (org.quartz.core.QuartzSchedulerThread)0x12db                                 
             defaultScheduler_QuartzSchedulerThread                 sleeping
Group QuartzScheduler:defaultScheduler:
  (org.quartz.core.QuartzSchedulerThread)0x12dc                                 
             defaultScheduler_QuartzSchedulerThread                 sleeping
Group SeedGenerator ThreadGroup:
  (sun.security.provider.SeedGenerator$ThreadedSeedGenerator$BogusThread)0x12dd 
             Noisy Thread                                           cond. 
waiting
  (java.lang.Thread)0x12de                                                      
             SeedGenerator Thread                                   cond. 
waiting

Looks like a lot of worker threads allocated to Quartz for BOTH Continuum and Archiva.

1) For Continuum, are 15 Quartz worker threads really need for a small system, less then 10 builds a day and none concurrently?

2) Does Archiva really need 15 Quartz worker threads?

3) Are the Quartz worker thread counts configurable?  If so, how?


On Thu, Jun 12, 2008 at 7:14 PM, Paul Spencer <[EMAIL PROTECTED]> wrote:

Emmanuel Venisse wrote:

I'm sure you'll consume less threads if you use an external db instead of
the embedded.

I have done this and it has allowed both application run, although the
thread count is 59.  Continuum consumes 21 threads and Archiva consumes 20
threads in the Tomcat server.

21 threads appears to be a large number of threads.  Is this tuneable?



Emmanuel

On Tue, Jun 10, 2008 at 12:27 AM, Paul Spencer <[EMAIL PROTECTED]> wrote:

 I think I have found the cause of this error.  The Continuum web
application and Tomcat are consuming 44 threads when all is idle.  The
default max thread count on HP-UX is 64 per process. When Archiva is
added
to the Tomcat instance the thread count hits 64.

Below is the database configuration in context.xml.
 <Resource name="jdbc/continuum"
         auth="Container"
         type="javax.sql.DataSource"
         username="sa"
         password=""
         driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
         url="jdbc:derby:/internal/continuum/db/continuum;create=true"
 />

So my questions are:
1) Why are so many threads being used?

2) How can be minimize the thread count?

Paul Spencer




Paul Spencer wrote:

 Wendy Smoak wrote:
 On Mon, Jun 9, 2008 at 8:52 AM, Paul Spencer <[EMAIL PROTECTED]>
wrote:

 Now that I have Archiva and Continuum running in the same Tomcat
6.0.16,

I
am seeing the exception "java.lang.OutOfMemoryError: unable to create
new
native thread" in catalina.out.

JVM = build 1.5.0.01
OS = HP-UX 11.11

 That looks familiar. :)  Who is the JDK vendor?  (ISTR that something
in Redback requires a Sun JDK...)

 $ $JAVA_HOME/bin/java -version
java version "1.5.0.01" Java(TM) 2 Runtime Environment, Standard
Edition
(build 1.5.0.01-_06_jun_2005_05_20)
Java HotSpot(TM) Server VM (build 1.5.0.01 jinteg:06.06.05-04:39 PA2.0
(aCC_AP), mixed mode)



  java.lang.OutOfMemoryError: unable to create new native thread
 I suspect the memory and/or stack configuration need to be altered,
but

I am
not sure which ones to alter.  Currently CATALINA_OPT =
'-Dapplication.base=$ARCHIVA_BASE -Dapplication.home=$ARCHIVA_BASE"

 If the message is in the Catalina log, you probably need to give
Tomcat itself more memory.  This might help:
http://wiki.apache.org/tomcat/FAQ/Memory


 Paul Spencer



Paul Spencer



Reply via email to