Number of "SelectorThread" threads are grow up gradually

Hi,
I have an application, that remotely monitoring WebLogic server using JMX interface. In the same time, it could be running over 200 monitors that are fetching some useful information/counters from remote WLS and display it for user in UI. Application is running on Solaris and use Java 1.5-08. Seems that there is no such a problem on Win.
Problem: when the user start running all the JMX monitors - number of "SelectorThread" threads grow up for instance during 6 hours from 1000 to 6000 threads.
I got a thread dump and noticed that there are a lot (4000 thousands) of "SelectorThread" running:
Here is "SelectorThread" stack trace :
"SelectorThread" Id=1953 in RUNNABLE
at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:158)
at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:249)
"SelectorThread" Id=734 in RUNNABLE
at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:158)
at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:249)
"SelectorThread" Id=1021 in RUNNABLE
at sun.nio.ch.DevPollArrayWrapper.poll0(Na6tive Method)
at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:158)
at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:249)
"SelectorThread" Id=1367 in RUNNABLE
at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:158)
at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:249)
and so on...
To connect to WLS server I use JMXConnector.
The cpu is 100%(not sure about this yet) and after 6 hours my application crashing without any errors.
Is it the problem with JVM and broken "SelectorThread" that was discussed earlier and the real problem is in JVM? Please, point me to the real bug or suggest how to isolate it. I will appreciate any info from you guys.
Thanks in advance.

You can't transfer tracks from one account to another. My kids have libraries authorized to my account and strict instructions not make purchases on my account unless I say so. A library can be authorized for multiple accounts, each account can be authorized to a maximum of five computers and each device can hold content from a maximum of five accounts.
tt2

Similar Messages

  • When I receive and answer e-mail, the correspondence is usually "nested" with the original message, and the number of replies, etc. are indicated with a number next to the original message.  How can I change the mail settings so that every reply is listed

    When I receive and answer e-mail, the correspondence is usually "nested" "behind"  the original message, and the number of replies, etc. are indicated with a number next to the original message in the inbox.  How can I change the mail settings so that every reply is listed individually in the inbox instead of having them "stacked" behind the original message.  I'm afraid I might accidentially overlook messages the way they are handled now.

    Somebody here will correct me if I'm wrong, but what you have to do is go into Settings, Mail/Contacts/Calendars and under Mail, turn off "Organize by Thread".  I think that will make each message show individually.

  • How many  threads are running?

    here's the code... i am trying to understand, at each point, how many threads are running:
    I understand that one thread belongs to the caller of the start()
    & at the same time there is another thread belonging to the instances of each thread (thread1, thread2, thread 3 etc.)
    1public class ThreadTester {
    2   public static void main( String args[] )
    3   {
    4      PrintThread thread1, thread2, thread3, thread4;
    5
    6      thread1 = new PrintThread( "thread1" );
    7      thread2 = new PrintThread( "thread2" );
    8      thread3 = new PrintThread( "thread3" );
    9      thread4 = new PrintThread( "thread4" );
    10
    11      System.err.println( "\nStarting threads" );
    12
    13      thread1.start();
    14      thread2.start();
    15      thread3.start();
    16      thread4.start();
    17
    18      System.err.println( "Threads started\n" );
    19   }
    }can you tell me if i am counting the number of threads in existance correctly...
    LINE#.....CALLER...START...TOTAL THREADS
    13..............1.........1.......2
    14..............1+1......1+1.....4
    15..............2+1......2+1.....6
    16..............3+1......3+1.....8
    so by the time line 16 executes i have a total of 8 threads,
    4 threads belonging to each caller plus
    4 threads created by start()
    or is it
    LINE#.....CALLER...START...TOTAL THREADS
    13..............1........1........2
    14..............1........1+1.....3
    15..............1........2+1.....4
    16..............1........3+1.....5
    after line 16 executes does the caller thread die, thus leaving only a total of 4 threads?
    there is only one thread belonging to the caller at line 13(plus the thread it creates).
    at the start of line 14, the previous callers thread is dead & now a new thread is created that belongs to the caller on line 14... etc.

    well, i realize at the end there would be 4 threads but im trying to get my head around this explanation in the book:
    "A program launches a threads executioin by calling the threads start method, which in turn call the run method. After start launches the thread, start returns to tis caller immediately. The caller then executes concurrently with the lauched thread." there fore if i have 2 concurrent processes, are there 2 threads running????
    now having said the above, my question was:
    for each line,
    how many threads are in existance at
    line13
    line14
    line15
    line16
    thanks.

  • Number of nfsd threads under Solaris 10

    In solaris 9 it was possible to get the Number of max. NFS Servers (threads) currently running with this command:
    echo "$<svcpool_list" | adb -k
    This does not work with Solaris 10. How can I get this information from the kernel?

    In 10.3 usually work managers are used for this purpose. (http://download.oracle.com/docs/cd/E12840_01/wls/docs103/upgrade/compat.html#wp1117123)
    You can use the 8.1 thread pool if you want (http://download.oracle.com/docs/cd/E12840_01/wls/docs103/perform/appb_queues.html#use81)
    but generally work managers are the preferred way: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/config_wls/self_tuned.html
    Coming back to your original question:
    "I was trying to increase the Min number of executable threads using the following startup argument "set USER_MEM_ARGS=-Dweblogic.threadpool.MinPoolSize=30" in startWeblogic.cmd. But doing so haven't increased the "execute thread total count" to the desired number when I verified it in console."
    Can you add the option in the setDomainEnv file, located in the ${DOMAIN_HOME}/bin directory, for example,
    @REM *************************************************************************
    set WL_HOME=C:\bea\wlserver_10.3
    for %%i in ("%WL_HOME%") do set WL_HOME=%%~fsi
    set BEA_JAVA_HOME=C:\bea\jrockit_160_24_D1.1.2-4
    set USER_MEM_ARGS=-jrockit -Xms512m -Xmx512m -Xgc:throughput -Dweblogic.threadpool.MinPoolSize=100
    set SUN_JAVA_HOME=To check if it indeed shows the number of threads you can follow the steps presented here: http://m-button.blogspot.com/2009/02/tuning-default-workmanager-on-weblogic.html

  • *IMPORTANT* Limiting the number of active threads

    Hi All,
    i have a few of questions so please bare with me:
    1) What is the best way to limit the number of active threads? ie i want to run 10 threads but i want there to be only 3 running at a time.
    this is how im thinking of doing it rite now:
    count = 0;
    while(...)
    thread[count].start();
    while(threadgroup.activeCount > 4){}
    count++;
    2) I have a class that extends thread how do i overide the constructor so that i can add the thread to the threadgroup?
    ok here is an example of what i mean:
    u can do this with a normal thread: Thread one = new Thread(threadgroup, "what");
    this is what i need to do tho:
    class whatever extends Thread {
    public whatever(int a, int b, ThreadGroup tg)
    { what do i put here to make this thread part of the tg threadgroup?}
    thanx for any help in advance and i kinda need a quick answer cause this is due soon , thanx youssefe2k4

    Hi,
    1) Why do you want to do that?
    2) super(tg, "a name");
    /KajIt's part of a homework assignment... I saw another post on this forum and one at JavaRanch where you need to create an application that given a directory will scan each file and report the file name and how many lines are in them... but it must be multithreaded, each thread scan a single file and updates some list and finally you can only have three of these file scanning threads running at the same time...
    Quote "To avoid having too many threads competing for the system resources when there are a lot of files in the directory, we will restrict the number of active Producer threads (active threads are started threads that have not ended yet) during the run time. For this assignment, at any time there should not be more than 3 active Producer threads. If there are already three active Producer threads during the run time, the program should wait until one of them ends to start the next Producer thread."
    I was think about working on it, so that I can strengthen my knowledge in threads...
    I still might do it, just for fun... I don't know yet...
    We will see...
    - MaxxDmg...
    - ' He who never sleeps... '

  • How can we change background colour for number of photos which are in a folder?

    how can we change background colour for number of photos which are in a folder?

    Same for you please show an example. Also it is wise to create your own thread. Keep it in mind next time.

  • How to Increase min number of executable threads in Weblogic 10.3.0

    Hi,
    I was trying to increase the Min number of executable threads using the following startup argument
    "set USER_MEM_ARGS=-Dweblogic.threadpool.MinPoolSize=30" in startWeblogic.cmd. But doing so haven't increased the "execute thread total count" to the desired number when I verified it in console.
    Kindly help me to configure this.
    PS: Changing the configuration file (config.xml) is not recommended.
    Thanks
    Prasanth

    In 10.3 usually work managers are used for this purpose. (http://download.oracle.com/docs/cd/E12840_01/wls/docs103/upgrade/compat.html#wp1117123)
    You can use the 8.1 thread pool if you want (http://download.oracle.com/docs/cd/E12840_01/wls/docs103/perform/appb_queues.html#use81)
    but generally work managers are the preferred way: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/config_wls/self_tuned.html
    Coming back to your original question:
    "I was trying to increase the Min number of executable threads using the following startup argument "set USER_MEM_ARGS=-Dweblogic.threadpool.MinPoolSize=30" in startWeblogic.cmd. But doing so haven't increased the "execute thread total count" to the desired number when I verified it in console."
    Can you add the option in the setDomainEnv file, located in the ${DOMAIN_HOME}/bin directory, for example,
    @REM *************************************************************************
    set WL_HOME=C:\bea\wlserver_10.3
    for %%i in ("%WL_HOME%") do set WL_HOME=%%~fsi
    set BEA_JAVA_HOME=C:\bea\jrockit_160_24_D1.1.2-4
    set USER_MEM_ARGS=-jrockit -Xms512m -Xmx512m -Xgc:throughput -Dweblogic.threadpool.MinPoolSize=100
    set SUN_JAVA_HOME=To check if it indeed shows the number of threads you can follow the steps presented here: http://m-button.blogspot.com/2009/02/tuning-default-workmanager-on-weblogic.html

  • Constant number of execute threads in weblogic

    Hi all,
    I need help in understanding that why do i have number of execute threads as constants(in number 50) while taking the thread dump.
    Why does this thread count remain constant and what can be the possible cause for the same .
    plase provide some pointers to do the RCA for it .
    Thank you

    If you have enough idle execute threads at a point of time, then it can be used by weblogic server to process a particular request. During heavy load times having more number of execute threads can be helpful as the requests would not starve particularly when the requests are long running(requiring more time to finish). Each thread adds to the memory required. Also the number of execute threads should not be more than the number of connection pool max capacity to avoid requests starving for connections. If the threads remains idle and are not being used(as load is not that high), then the utilization is low ie. those many execute threads are not required.

  • Self tuning threads are not releasing even though server running fine.

    One of the cluster instance is running fine and serving the requests with good response but there self tuning threads are not releasing .I am not seeing any stuck threads in logs and no errors. why threads are not releasing.How we can troubleshoot this issue. May I know what are the cause of this.

    Arun thanks for your quick response
    Here is the threads details
    Active Execute Threads 192     
    Execute Thread Total Count 222
    ExecuteThreadIdleCount 190     
    QueueLength 0
    PendingUserRequestCount 0
    completed request count 36659285
    HoggingThreadCount     1     
    StandbyThreadCount 30     
    Throughput 7.5     
    More number of threads are waiting for lock
    Here is the sample thread dump.
    "[ACTIVE] ExecuteThread: '218' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@faf757 WAITING
         java.lang.Object.wait(Native Method)
         java.lang.Object.wait(Object.java:474)
         weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:156)
         weblogic.work.ExecuteThread.run(ExecuteThread.java:177)
    "[ACTIVE] ExecuteThread: '217' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@12c34ef WAITING
         java.lang.Object.wait(Native Method)
         java.lang.Object.wait(Object.java:474)
         weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:156)
    some threads are blocked
    ExecuteThread: '9' for queue: 'weblogic.socket.Muxer'" waiting for lock java.lang.String@1f39d37 BLOCKED
         weblogic.socket.DevPollSocketMuxer.processSockets(DevPollSocketMuxer.java:93)
         weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
         weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    "ExecuteThread: '8' for queue: 'weblogic.socket.Muxer'" waiting for lock java.lang.String@1f39d37 BLOCKED
         weblogic.socket.DevPollSocketMuxer.processSockets(DevPollSocketMuxer.java:93)
         weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
         weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
         weblogic.work.ExecuteThread.run(ExecuteThread.java:177)
    "[STANDBY] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@1bd18aa WAITING
         java.lang.Object.wait(Native Method)
         java.lang.Object.wait(Object.java:474)
         weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:156)
         weblogic.work.ExecuteThread.run(ExecuteThread.java:177)

  • Reduce number of running thread under Linux

    Hello,
    How can reduce the number of running thread for coldfusion MX
    7.0.2 server under Linux (they are almost 30; )

    If you create a pool of any sort you will need a point where all requests for a resource from the pool must go via, and that piece of code could potentially become a bottle neck. But if you develop it well there will be a very small piece of code that is sychrnonized that will either put a request in a queue as there are no resources available, or it will provide the requested resource. As far as i am aware there is no safe way around this as you will have multiple threads requesting the resource.

  • How to control the number of running thread

    I need to maintain the number of running thread in the system or in a threadgroup, as too many running thread will make the system throughput drop tremendously because of the context swtich and memory problem. The threadgroup is not a solution as its active count is the number of the threads that are alive, it includes the thread being blocked as well. I don't know whether there is any way to control it without the use of an expensive monitor?
    Thanks for any help

    If you create a pool of any sort you will need a point where all requests for a resource from the pool must go via, and that piece of code could potentially become a bottle neck. But if you develop it well there will be a very small piece of code that is sychrnonized that will either put a request in a queue as there are no resources available, or it will provide the requested resource. As far as i am aware there is no safe way around this as you will have multiple threads requesting the resource.

  • How to find Number of working threads using java executor framework

    I'm creating a java thread pool using java 1.5 executor framework.
    private ExecutorService executorService = Executors.newFixedThreadPool(threadPoolSize);
    public <T> Future<T> submit(Callable<T> task) {
              return executorService.submit(task);
    }Now I want to get the number of working thread at runtime. Is there any java api available to do this using java 1.5 executor framework?
    Thanks,
    Arpan

    If the ExecutorService you are working on is a ThreadPoolExecutor then you can use ThreadPoolExecutor#getActiveCount() to get the count of threads actually running tasks. There is no such method on the ExecutorService interface though.

  • How can we delete the icloud accounts from main website.Iam trying to log in to my account and it says that MAXIMUM NUMBER OF FREE ACCOUNTS ARE ACTIVATED?What can i do guys plz tell me?

    How can we delete the icloud accounts from main website.Iam trying to log in to my account and it says that MAXIMUM NUMBER OF FREE ACCOUNTS ARE ACTIVATED?What can i do guys plz tell me?

    You can't delete an account, you can only stop using it.  If you're getting that error message you won't be able to create a new account on your device.  Your only options are to re-use one of the accounts previously created, or create a new account on a different iOS device or Mac (running OS X Lion or higher), if you have one.

  • Hi.  I purchased Adobe Acrobat Xi Pro from a store (card).  I submitted the number (under the scratch area on the card) on the adobe website, with my personal details etc.  When I submitted the form, I got an error message:  413 header length too large (a

    Hi.  I purchased Adobe Acrobat Xi Pro from a store (card).  I submitted the number (under the scratch area on the card) on the adobe website, with my personal details etc.  When I submitted the form, I got an error message:  413 header length too large (and on top the page reads JRun Servelet Error).  What does this mean? What should I do next?

    Hi.  I purchased Adobe Acrobat Xi Pro from a store (card).  I submitted the number (under the scratch area on the card) on the adobe website, with my personal details etc.  When I submitted the form, I got an error message:  413 header length too large (and on top the page reads JRun Servelet Error).  What does this mean? What should I do next?

  • How to identify the Selected row number or Index in the growing Table

    Hi,
    How to find the selected Row number or Row Index of growing  Table using Javascript or Formcalc in Interactive Adobe forms
    Thanks & Regards
    Srikanth

    After using bellow script it works fine
    xfa.resolveNode("Formname.Table1.Row1["this.parent.index"].fieldname").rawValue;

Maybe you are looking for