One Java-Process over multiple CPUs on Solaris 8

Hello,
sorry if this question is trivial. I have a java server software (BEA Weblogic) and use it on a multiple CPU machine (e.g. 4 CPUs) with Solaris 8. This Server runs as one system process and creates some threads. Are these threads spread over multiple CPUs or do they stick on the same CPU as their parent process.
So the question is: Am I using the full power of my machine with the 4 CPUs when I'm only starting one of these software servers or do I have to start multiple instances for to use all the CPU power.
I'm using JDK 1.3.1_07 an can make use of the alternate threading library "/usr/lib/lwp" on the solaris 8. This will activate the one-to-one threading for the JVM.
Thanks and kind regards
Falko

Sound like you figured it out ;-)
Keep in mind that you'll probably get better performance, depending on your application, by tuning the heap and the garbage collector. We run on four processor machines, but I could make good use of all four processors until I adjusted the heap size, old/new heap rations, turn on the concurrent gc, and increased the RMI GC interval.
Good luck,
Michael

Similar Messages

  • How do I run the same process on multiple CPUs  of a processor set?

    Hi,
    I am working on UltraSPARC T1 Processor. My development environment is SunStudio 12 running on Sun Solaris 10 OS.
    I want to run the same process concurrently on 4 hardware threads that belong to one core.
    I used pset_create() for creation of the processor set.
    Later I assigned 4 processors (that belong to one core) using pset_assign().
    I used fork() to create a child process and used execv() to assign a new process.
    I used pset_bind() to bind this new process to processor set created earlier.
    When we are executing the program we observe that the process is running in only the first processor (hardware thread) of the assigned processor set.
    How do we make all the processors of the processor set run the same process?
    Thanks in advance.
    Nesa Rani

    Hi Mark,
    With this communication based on CAN whilst all of the data is available on the network arbitration IDs are still used to address the individual PCs so I believe you will need to explicitly send the data to each PC to get the data across all three.  The other option would be to have one PC acting as a data server making the data available through a network interface such as shared variables.  This may be simpler to implement and also easier should you need to scale it up.
    Regards,
    James Mc
    ========
    CLA and cRIO Fanatic
    wiresmithtech.com/blog

  • One Unix process and multiple Oracle sessions

    Hi All,
    When I checked one particular Unix process, I have seen that in the database there are 3 different Oracle sessions spanning days between them. Can you please tell me how this is possible.
    Regards
    Satish

    Hi Yas,
    The query I ran is tghe following.
    SELECT Substr(a.username,1,15) "Username",
    a.osuser "OS User",
    a.sid "Session ID",
    a.serial# "Serial No",
    d.spid "Process ID",
    a.lockwait "LockWait",
    a.status "Status",
    Trunc(b.value/1024) "PGA (Kb)",
    Trunc(e.value/1024) "UGA (Kb)",
    a.module "Module",
    Substr(a.machine,1,15) "Machine",
    a.program "Program",
    Substr(To_Char(a.logon_Time,'DD-Mon-YYYY HH24:MI:SS'),1,20) "Time"
    FROM v$session a,
    v$sesstat b,
    v$statname c,
    v$process d,
    v$sesstat e,
    v$statname f
    WHERE d.spid=29789 and
    a.paddr = d.addr
    AND a.sid = b.sid
    AND b.statistic# = c.statistic#
    AND c.name = 'session pga memory'
    AND a.sid = e.sid
    AND e.statistic# = f.statistic#
    AND f.name = 'session uga memory'
    ORDER BY 1,2;
    I passed spid to it.
    Regards
    Satish

  • One iTunes Profile over multiple iPhones

    I have three iPhones that share 1 iTunes account.  I'd like to have all three iPhones to have the exact same folders, apps, contacts, pictures, movies, etc. so that everything looks the same no matter which phone is used.  How do I do this?  Everything I find tells me that each phone can be indvidualized but my family finds it confusing to have to search for things on different pages/folders, etc..
    Thanks in advance

    You could either setup every phone manually so it looks the same, but the more efficient way is to set up one phone the way you want, create a backup, and then restore the other two phones from that backup.

  • SunOS 5.10 spawns multiple PID's for same java process

    On SunOS 5.10 I see same java process having multiple PID's. ps -ef lists out the same java process running from same path with multiple PID's. What can be the reason for this?
    Please let me know if you need some more information.....
    Edited by: sayanb on Jan 5, 2010 9:29 AM

    Hi Chris,
    Thank you for this update.
    Again this seems to be a known issue on SunOS 10.Also I will try to take the stack strace for the specific java process.
    http://forums.sun.com/thread.jspa?forumID=546&threadID=5297465
    http://groups.google.com/group/bojug/browse_thread/thread/19d722275c4384b8
    Basically the issue seems to be with one of the fork system calls which confuses with active and actual threads running.The above link speaks about the same , faced by similar users.
    Any updates will be appreciated.Meanwhile will try to get the stack trace.
    Regards
    Sayan

  • JDK 1.6 on Solaris. Multiple java processes and thread freezes

    Hi, we've come across a really weird behavior on the Solaris JVM, reported by a customer of ours.
    Our server application consists of multiple threads. Normally we see them all running within a single Java process, and all is fine.
    At some point in time, and only on Solaris 10, it seems that the main Java process starts a second Java process. This is not our code trying to execute some other application/command. It's the JVM itself forking a new copy of itself. I assumed this was because of some JVM behaviour on Solaris that uses multiple processes if the number of threads is > 128. However at the time of spawn there are less than 90 threads running.
    In any case, once this second process starts, some of the threads of the application (incidentally, they're the first threads created by the application at startup, in the first threadgroup) stop working. Our application dumps a list of all threads in the system every ten minutes, and even when they're not working, the threads are still there. Our logs also show that when the second process starts, these threads were not in the running state. They had just completed their operations and were sleeping in their thread pool, in a wait() call. Once the second process starts, jobs for these threads just queue up, and the wait() does not return, even after another thread has done a notify() to inform them of the new jobs.
    Even more interesting, when the customer manually kills -9 the second process, without doing anything in our application, all threads that were 'frozen' start working again, immediately. This (and the fact that this never happens on other OSes) makes us think that this is some sort of problem (or misconfiguration) specific to the Solaris JVM, and not our application.
    The customer initially reported this with JDK 1.5.0_12 , we told them to upgrade to the latest JDK 1.6 update 6, but the problem remains. There are no special JVM switches (apart from -Xms32m -Xmx256m) used. We're really at a dead end here in diagnosing this problem, as it clearly seems to be outside our app. Any suggestion?

    Actually, we've discovered that that's not really what was going on. I still believe there's a bug in the JVM, but the fork was happening because our Java code tries to exec a command line tool once a minute. After hours of this, we get a rogue child process with this stack (which is where we are forking this command line tool once a minute):
    JVM version is 1.5.0_08-b03
    Thread t@38: (state = IN_NATIVE)
    - java.lang.UNIXProcess.forkAndExec(byte[], byte[], int, byte[], int, byte[], boolean, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor) @bci=168980456 (Interpreted frame)
    - java.lang.UNIXProcess.forkAndExec(byte[], byte[], int, byte[], int, byte[], boolean, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor) @bci=0 (Interpreted frame)
    - java.lang.UNIXProcess.<init>(byte[], byte[], int, byte[], int, byte[], boolean) @bci=62, line=53 (Interpreted frame)
    - java.lang.ProcessImpl.start(java.lang.String[], java.util.Map, java.lang.String, boolean) @bci=182, line=65 (Interpreted frame)
    - java.lang.ProcessBuilder.start() @bci=112, line=451 (Interpreted frame)
    - java.lang.Runtime.exec(java.lang.String[], java.lang.String[], java.io.File) @bci=16, line=591 (Interpreted frame)
    - java.lang.Runtime.exec(java.lang.String, java.lang.String[], java.io.File) @bci=69, line=429 (Interpreted frame)
    - java.lang.Runtime.exec(java.lang.String) @bci=4, line=326 (Interpreted frame)
    - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)There are also several dozen other threads all with the same stack:
    Thread t@32: (state = BLOCKED)
    Error occurred during stack walking:
    sun.jvm.hotspot.debugger.DebuggerException: can't map thread id to thread handle!
         at sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.getThreadIntegerRegisterSet0(Native Method)
         at sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.getThreadIntegerRegisterSet(ProcDebuggerLocal.java:364)
         at sun.jvm.hotspot.debugger.proc.sparc.ProcSPARCThread.getContext(ProcSPARCThread.java:35)
         at sun.jvm.hotspot.runtime.solaris_sparc.SolarisSPARCJavaThreadPDAccess.getCurrentFrameGuess(SolarisSPARCJavaThreadPDAccess.java:108)
         at sun.jvm.hotspot.runtime.JavaThread.getCurrentFrameGuess(JavaThread.java:252)
         at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:211)
         at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:50)
         at sun.jvm.hotspot.tools.JStack.run(JStack.java:41)
         at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
         at sun.jvm.hotspot.tools.JStack.main(JStack.java:58)I'm pretty sure this is because the fork part of the UnixProcess.forkAndExec is using the Solaris fork1 system call, and thus all the Java context thinks all those threads exist, whereas the actual threads don't exist in that process.
    It seems to me that something is broken in UnixProcess.forkAndExec in native code; it did the fork, but not the exec, and this exec thread just sits there forever. And of course, it's still holding all the file descriptors of the original process, which means that if we decide to restart our process, we can't reopen our sockets for listening or whatever else we want to do.
    There is another possibility, which I can't completely rule out: this child process just happened to be the one that was fork'd when the parent process called Runtime.halt(), which is how the Java process exits. We decided to exit halfway through a Runtime.exec(), and got this child process stuck. But I don't think that's what happens... from what I understand that we collected, we see this same child process created at some point in time, and it doesn't go away.
    Yes, I realize that my JVM is very old, but I cannot find any bug fixes in the release notes that claim to fix something like this. And since this only happens once every day or two, I'm reluctant to just throw a new JVM at this--although I'm sure I will shortly.
    Has anyone else seen anything like this?

  • Single SOA Suite Install with multiple oc4j instances and java processes

    We right now have 5 BPEL processes and 5 ESB processes all running under one java.exe process. We would like to seperate some of
    them out into their own java.exe processes without having to install more
    %ORACLE_HOME% instances of SOA Suite. I can create an oc4j instance but of
    course it doesn't have any SOA Suite stuff deployed to it. I tried to see what
    the install would do with this new oc4j instance but it wants to create a new
    %ORACLE_HOME% with an entire installation of SOA Suite.
    Is there some sort of way to clone oc4j instances that have SOA Suite deployed to them so that you
    don't need multiple %ORACLE_HOME% instances?
    ### How is this Issue Impacting Your Business ###
    We really don't want to have a lot of %ORACLE_HOME% instances to have to maintain. We are
    migrating projects over from our current integration server product and we'll
    have potentially dozens more BPEL and ESB projects. We definitely want to
    group and isolate projects so that outages of one project do not bring down
    others that are unrelated.
    We are currently experiencing periodic problems with one BPEL project that requires recycling but all the other BPEL and ESB
    projects get recycled also. If we could put this project into it's own java
    process without creating another SOA SUITE instance, it would be a big
    help.
    ANSWER
    =======
    You can create multiple domains in BPEL or create multiple systems/groups in ESB to group different projects.
    MY REPLY:
    =========
    We have been using systems/groups in ESB but they all run under the save java.exe process. I would assume that having a seperate domain in BPEL would also run in that same java.exe process.
    Right now, the one BPEL project we have a problem with will gobble up all the JDBC connections from time to time and that requires a recycle of SOA Suite, which means all BPEL and ESB projects that run in that java.exe process get recycled also. We're working that issue in a different ticket.
    It would be nice if the SOA Suite installation would install against a new oc4j instance and not assume it has to create a complete %ORACLE_HOME% instance. The components of SOA Suite seem to be J2EE based components.
    Scenario: I already have an oc4j instance called oc4j_soa and a complete %ORACLE_HOME% installation of soa suite. I then create a new oc4j instance from Enterprise Manager. Then I would deploy the esb-dt, esb-rt, orabpel, etc. components of SOA Suite to that new oc4j instance and modify the necessary config file so that it can work with OHS and the SOA Suite Databases. Is this possible?
    Does anyone have any experience with this or do people typically install multiple complete installation of SOA Suite with mulitple Oracle Homes?

    Hi,
    yes, on metalink you get in touch with real experts....
    You have to install serveral application servers to get different ORACLE_HOMEs.
    For each one, you can install a BPEL PM.
    But: For each BPEL PM you need your own database instance, or you have to configure them as a clustered BPEL installation.... (but i do not know if this work with non RAC DBs)

  • Just bought a new iphone4 and was loading os6 and now it won't turn on. the apple glows like it is starting up, then the screen goes black and then repeats the same process over and over. i have tried to reboot multiple times now

    just bought a new iphone4 and was loading os6 and now it won't turn on. the apple glows like it is starting up, then the screen goes black and then repeats the same process over and over. i have tried to reboot multiple times now

    I am assuming the phone was working prior to you installing IOS 6? Did you use itunes to install IOS 6 or just run from the phone?
    When I tried to do the Over The Air update to IOS6 on my iPhone 4, it errored out and I had to connect it to iTunes and select "Restore" from the summary screen after iTunes finds the phone is connected. If this works for you, it will go through a couple of reboots that take a few minutes to complete. It should then give you the option to start with a fresh new phone or to use one of your previous backups to load your contacts and other information, provided you have backed up the phone previously.
    I hope this helps you my friend!

  • One JAVA and multiple ABAP Instances

    Hello All,
    Till now i have done configurations for  Billerdirect on one Java instance  and one ABAP instance.
    Now my situation  in production we have multiple ABAP  (1 CI + 4 Dialog) and only one production Java instance.
    So in XCM configuration  using method  group_connect i have  created XCM configuration this is working fine.
    so here is our problem after doing this .
    For self user Registration  we have created JCO_RFC_Server in XCM   this configuration is working only in one situation.
    Since JCO_RFC_SERVER can be created only for one instance when ever self user registration  goes to other instance it fails , which is happening frequently
    Can anyone  please help me understand in creating XCM configuration for multiple ABAP instances so that i  can create multiple JCo_RFC servers.
    Over View:
    From one Java instance i want to establish multiple connection to ABAP (CI + DI) so that  i can create one JCO_RFC server for each connection.
    When i want to access system i will access using  XCM connection name at the end.
    eg some thing like this.
    http://myserver:53000/bd/public/frameset_top_html.jsp?SYS=MYSYS1
    http://myserver:53000/bd/public/frameset_top_html.jsp?SYS=MYSYS2
    Please help in moving forward.
    Thanks in advance.
    Regards,
    Vardhan.

    Hello All,
    Could you please help me in getting to an logical solution on this approach .
    Thanks,
    Vardhan.

  • HT201084 My family shares one Apple ID on multiple devices.  How do I switch everyone over to their own Apple ID without having to erase their iphones and ipads?

    My family currently shares one Apple ID on multiple devices and has for quite awhile.  How do I switch everyone over to their own Apple ID and the Family Sharing without having to erase their iphones and ipads?

    Thank you again for your time, GB.
    I set up individual Apple ID's for my children so that they could have their own Apple ID on their individual iPad minis (gifts from grandparents last year).  When I go to iCloud under Settings, I see my Apple ID listed at the top, then my children's listed under Family Sharing.  So the device is still using my Apple ID for iCloud, iTunes, etc., correct?
    To "assign" their own Apple ID to their own iPad mini, I would need to "Sign Out" from my Apple ID.  When I attempt to do so, I receive a warning that all of the Documents and Data will be lost/deleted. 
    So, instead of doing this, I figured out that I could do what you suggested.  Signing in using a child's Apple ID will allow her/him to use Game Center, FaceTime, and Messages just fine.  However, using their Apple ID for iTunes & App Store proved to be a problem:  Purchased Music and Movies appeared in iTunes, but my Purchased Apps did not appear.  Some Apps even disappeared, e.g. Proloquo4Text (a $99 app to help my son speak with his iPad).
    So I reverted to using my Apple ID for iTunes & App Store, and I get everything that I want, EXCEPT for the iCloud storage for each Apple ID.
    So that's when I started wondering how Family Sharing was really benefiting me ~ It was a lot of work (deleting apps to allow space to download iOS 8, etc) without any benefit that I can see.  UNLESS I find a means to allow me to sign in each iPad's iCloud account with a different AppleID, then perhaps restore the Documents and Data from a backup?  Would that work?
    Thanks.

  • Processing the multiple sender xml one by one in a time gap to RFC

    Dear Experts,
             I have to process the multiple sender xml file one by one from FTP to RFC in time gap.
    For Ex:
            I will place 10 xml file in a FTP path at a  time, PI is picking 10 file at a time and process it to RFC at a time.
    Any other way to process the multiple file one by one through PI in a time gap to RFC
    (i,e) PI needs to process the 10 files one by one, once the first file processed successfully from FTP to RFC then the next file to process in a time gap to avoid getting the error in RFC.
    Kindly suggest your ideas or share some links how to process this multiple files.
    Best Regards,
    Monikandan.

    Hi Monikandan,
    You can use CE BPM with PI 7.1 But first check the suggestion of Anupam in the below thread:
    reading file sequentially from FTP using SAP PI file adapter
    Regards,
    Nabendu.

  • BPEL Process with multiple file types using one FTP adapter is not working

    i created a bpel process which will fetch the files from remote location using FTP adapter.
    Now the process works for only one format or file type like *.xls.
    How can i use more than one file format in one FTP adapter.
    OR
    is there any other way to do it.
    file type assignation is 5th step in FTP adapter configuration.
    i have tried *.xls,*.csv and *.xls;*.csv and *.xls:*.csv by seperating with comman, colon, space... still not working.
    i read the documentation *.* will not work.. for one file format it's working fine.
    looking forward for reply as soon as possible.

    Are you positive that it is not working? I'm not sure how you can use one FTP adapter for multiple file types unless the underlying data is exactly the same format or you are processing it as opaque data. Sometimes when a FTP adapter chokes on a file with a bad structure it doesn't create a BPEL instance, it simply moves the bad file to a separate folder.
    So I assume you are using opaque as the data type instead of using an XSD element?
    That said, I don't think you can put two separate file types in the filter. Is it possible for you to do something like: CommonFileName*.* or do you have similar files with other extensions?
    I know the above probably isn't of much help, but I had so many problems with the FTP adapter and its lack of features that I am writing my own. Unfortunately that is a large undertaking and there isn't any good documentation of JCA resource adapter / BPEL PM integration.

  • How to check actual allocated and used memory for java process in solaris?

    Hi,
    I'm testing performance for java application on solaris 10. And I would like to know how to measure actual memory allocated and used for java process.
    I'm setting -Xms512m -Xmx512m for my java process and I use prstat command to monitor it's memory. But I found that when I run prstat to check, in SIZE column is more than I setting (found 644).
    So I'm don't know the actual memory that java process used. (In this case,is it mean the process use memory (644) more than setting (512)?)
    Thank you.

    With Xms/Xmx you specify the Java heap size. On top of that comes the permanent generation (default max size 64m) and the C part of the process (the JVM itself with all its libraries and data).
    With "ps -e -o pid,vsz,rss,args" you get the virtual and set resident size of your processes.
    Nick.

  • Thread (won't run on multiple CPUs)

    I have read articles that claim java's threads will only run on one CPU no matter how many CPUs your system has. But most of those articles were of old versions of java, but I have mostly dual and some quad CPU machines running Linux and I tested out the latest version of the jdk (1.5) and have soem disappointing results. When I look at the CPU usage while I run multithreaded apps it seems there is always one that is over worked, and I think the other CPUs are just doing OS stuff not java stuff. I then did some tests looking at run times which should be almost linear as I increase my thread count (as long as I keep it under the number of CPUs), so on my quad CPU machines I should 2 threads better than one and 3 threads better than 2 and 4 threads should be my peek performance. The machines I tested were completly idle, and I had the exact same run times for all the runs even a little worse as the numbe of threads was increased. So it looks at though the threads aren't utilizing the multiple CPUs. I then made my program run in seperate threads and there was a linear increase, so there is definatly something wrong with the jdk and threading (on SMP machines) as far as I can tell... Anyone else have input?

    I ran your code on a linux box running debian 3.0 with FOUR 750MHz processors:
    Runtime 771 ms, rate=2594033 rand()/sec
    Runtime 1445 ms, rate=2768166 rand()/sec
    Runtime 1546 ms, rate=5174644 rand()/sec
    $ uname -a
    Linux shell 2.4.27-undaero #3 SMP Fri Sep 3 17:35:56 CDT 2004 i686 unknown
    $ java -version
    java version "1.4.2_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06)
    Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode)
    $
    I ran your code on a Sun sparc with FOUR 450MHz processors:
    Solaris 9 12/02 s9s_u2wos_10 SPARC
    Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
    Use is subject to license terms.
    Assembled 05 November 2002
    Runtime 1252 ms, rate=1597444 rand()/sec
    Runtime 2545 ms, rate=1571709 rand()/sec
    Runtime 1843 ms, rate=4340748 rand()/sec
    agassiz% uname -a
    SunOS agassiz 5.9 Generic_117171-11 sun4u sparc SUNW,Ultra-4
    agassiz% java -version
    java version "1.4.0_03"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_03-b04)
    Java HotSpot(TM) Client VM (build 1.4.0_03-b04, mixed mode)
    agassiz%
    I ran your code on a Red Hat Linux release 8.0 (Psyche) wit DUAL Pentium Xeon 2.4 GHz
    Runtime 476 ms, rate=4201680 rand()/sec
    Runtime 742 ms, rate=5390835 rand()/sec
    Runtime 758 ms, rate=10554089 rand()/sec
    podollb@Node5 ~>uname -a
    Linux Node5 2.4.18-14smp #1 SMP Wed Sep 4 12:34:47 EDT 2002 i686 i686 i386 GNU/Linux
    podollb@Node5 ~>java -version
    java version "1.5.0-rc"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
    Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode)
    I ran your code on a SINGLE cpu Linux box running Slackware 9.1.0 with 333MHz Pentium II
    Runtime 1018 ms, rate=1964636 rand()/sec
    Runtime 2009 ms, rate=1991040 rand()/sec
    Runtime 4010 ms, rate=1995012 rand()/sec
    podollb@vectra ~>uname -a
    Linux vectra 2.4.22 #6 Tue Sep 2 17:43:01 PDT 2003 i686 unknown unknown GNU/Linux
    podollb@vectra ~>java -version
    java version "1.5.0-rc"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
    Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode)
    I ran your code on a SINGLE CPU machine running Red Hat Linux release 9 (Shrike) 1.69GHz
    Runtime 714 ms, rate=2801120 rand()/sec
    Runtime 1416 ms, rate=2824858 rand()/sec
    Runtime 2823 ms, rate=2833864 rand()/sec
    podollb@equus ~>uname -a
    Linux equus 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
    podollb@equus ~>java -version
    java version "1.4.2_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06)
    Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode)
    I ran your code on a Fedora Core release 1 (Yarrow) with DUAL 1.66 AMD Athlon
    Runtime 298 ms, rate=6711409 rand()/sec
    Runtime 837 ms, rate=4778972 rand()/sec
    Runtime 815 ms, rate=9815950 rand()/sec
    podollb@zeus_master ~>uname -a
    Linux zeus_master 2.4.22-1.2199.nptlsmp #1 SMP Wed Aug 4 11:49:01 EDT 2004 i686 athlon i386 GNU/Linux
    podollb@zeus_master ~>java -version
    java version "1.4.2_02"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)
    Java HotSpot(TM) Client VM (build 1.4.2_02-b03, mixed mode)
    I ran your code on a DUAL 2.8GHz Pentium Xeon running Red Hat Enterprise Linux AS release 3 (Taroon Update 2)
    Runtime 485 ms, rate=4123711 rand()/sec
    Runtime 451 ms, rate=8869179 rand()/sec
    Runtime 484 ms, rate=16528925 rand()/sec
    podollb@crayowulf ~>uname -a
    Linux crayowulf 2.4.21-15.ELsmp #1 SMP Thu Apr 22 00:18:24 EDT 2004 i686 i686 i386 GNU/Linux
    podollb@crayowulf ~>java -version
    java version "1.5.0-rc"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
    Java HotSpot(TM) Server VM (build 1.5.0-rc-b63, mixed mode)
    I ran your code on a DUAL pentium xeon 1.69GHz
    Runtime 678 ms, rate=2949852 rand()/sec
    Runtime 1197 ms, rate=3341687 rand()/sec
    Runtime 1773 ms, rate=4512126 rand()/sec
    podollb@tycho ~>uname -a
    Linux tycho.rwic.und.edu 2.4.18-24.7.xsmp #1 SMP Fri Jan 31 06:10:55 EST 2003 i686 unknown
    podollb@tycho ~>java -version
    java version "1.4.1"
    Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.1-beta)
    Java HotSpot(TM) Client VM (build Blackdown-1.4.1-beta, mixed mode)

  • Java process - high CPU usage

    Hi,
    I'm describing a high CPU scenario which gets triggered randomly ( I'm not able to replicate it on my lab setup).
    There are around 120 threads which are running in my java process. The jvm is running on a high traffic (through put) site, where there are a lot of async events coming to the java process.( around 220 events per 60 seconds ). The java process works fine in this scenario, the normal CPU consumption hovers around 1.5 % to 2.0 %.
    But, at times, I've seen CPU to be as high as 43 %, and it stays at that value for hours altogther. In those situations, I usually do a failover to standby java process. I tried debugging the issue to see which java thread could be causing the issue, but, I could not come to a conclusion or replicate the situation in lab environment.
    Here are the details of the execution environment
    java -version
    java version "1.4.2_11"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
    Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
    prstat during high CPU
    PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
    10485 root 120 10 0 570M 381M cpu1 268:10 43.64% java
    prstat -Lm -p output
    PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWPID
    10485 root 53 0.5 0.2 0.0 0.0 30 0.2 16 69 1K 118 0 java/2
    10485 root 31 0.0 0.1 0.0 0.0 53 0.2 16 23 778 93 0 java/26
    10485 root 0.4 0.0 0.0 0.0 0.0 99 0.0 0.1 10 16 106 0 java/12
    10485 root 0.1 0.0 0.0 0.0 0.0 100 0.0 0.0 3 2 7 0 java/15
    10485 root 0.1 0.0 0.0 0.0 0.0 97 0.0 2.4 120 3 128 0 java/41
    10485 root 0.1 0.0 0.0 0.0 0.0 97 0.0 2.5 120 4 131 0 java/410
    Some more points about the last prstat -Lm output.
    java/2 is "VM Thread" ( responsible for GC). "VM Thread" is having a NORMAL priority ( 5 )
    java/26 is a "Worker" thread, with priority MINIMUM ( 1 ).
    Could you suggest what could be issue, and what other information I could collect to find out the issue. Its difficult to profile the process because the problem scenario is difficult to ascertain and the process is running on a production setup.
    Any help is appreciated.
    Thanks
    Sanjay

    Hi,
    Thanks for your response. Both, the production setup and lab setup have have 2 physical CPUs.
    Actually, there are two java threads ( machine is solaris 10) one is "VM Thread" and other is my applications worker thread. (there are 10 of them with priority 1). If you look at the top two lwps in the prstat -Lm , both are showing high value of ICX.
    I'm still not able to drill down to my code level. (Worker thread is waiting on a queue to de-queue server request). Could you give some hint to move foward?
    rgds
    Sanjay

Maybe you are looking for

  • How do I upgrade from Mac OS X 10.5.8 to the latest version on my imac 8.1?

    Here are my specs:   Model Name: iMac   Model Identifier: iMac8,1   Processor Name: Intel Core 2 Duo   Processor Speed: 2.8 GHz   Number Of Processors: 1   Total Number Of Cores: 2   L2 Cache: 6 MB   Memory: 2 GB   Bus Speed: 1.07 GHz I am trying to

  • Messages display phone numbers not contact name

    After I updated my iPhone 4s last night my messages come in displaying the phone number not the contact name. I checked the number in the contact and they are the same. The number 1 is not in the contact or in the message display. I have readded a co

  • Following error occurred while executing the application:

    I saw the RWB in message monitoring. Message monitoring is not working. I capture the scrpit. How can I ? Help me..... Stack trace for the above error message is: javax.servlet.ServletException: Error while executing the compilation process: [D:/usr/

  • Help needed on connecting to sqlserver2000

    HI, I am using Netbeans 1.4 and sql server2000 .I had downloaded MS sql server SP3 and it's driver and then I added jar files to Classpath. When I try to connect to the database I'll get this error message: java.lang.ClassNotFoundException: com.micro

  • Allow PUBLIC users to search and view basic OID data

    Have tried to use the People Search portlet available under Portlet Repository: Administration Portlets: SSO/OID. Portlet works fine so long as user is logged in. However, I need to be able to allow ANYBODY to search and return this basic user data.