Does different Java processes spawn different JVMs running on a server ?

Hi,
I have 2 applications running on AIX server, one is weblogic server and the other one is inhouse developed Java application. I have set the heap sizes for both the applications and when I do
ps ax | grep JavaI get
/usr/java14/bin/java -Xms2048m -Xmx2048m (weblogic)
/usr/java14/jre/bin/java -Xmx320m -Dvert.log.prefix (inhouse Java)I was wondering if these two processes have their own JVM or as they are running on the same server they share the same JVM. I read in some Java related article that even though there are multiple Java processes, they share the same JVM when run on a single server.
So from the above Java processes is it true that the total Java heap size is 2048+320=2368M and is used by only one JVM?
I appreciate if anyone who can answer or direct me to some resources which might give me some answers.
Thanks,
kraziabtu

No, you have two totally independent JVM's. As with many O/S's AIX (and I'm so sorry for you on that :) will only load a single copy of things like read only data segments, shared libraries and some other things but the processes are separate.
Your first process is allowed to grow to a maximum of 2GB and your second one is set at 320 MB. Again, as there are two of them they are not related.
Need Java help? Want to help people who do? Sit down with a cup of Java at the hotjoe forums.
Sure they're new - come get them started!

Similar Messages

  • Does a java process in crontab duplicate itself?

    I have put a java process in crontab(in unix), say for example...
    a command:
    #java ankie
    to run every minute.
    running this should print "hello" each time.What i want to know is that once this command runs,does it create a new java proces each time it runs and exits, or the process gets killed and then a new thread is activated.So after 5 min, how many java processes associated with ankie should be ideally running....5 or 1?Please help me with this.

    Is this homework or something?
    How long does it take to run one process?
    What happens when you do $java MyClass & sleep 60 ; java MyClass & sleep 60 ; ...etc... on the command line?
    If the process runs and exits then it runs and exits. The only thing that migh make a differenc that I can think of is if you don't handle the in/out/err streams properly as shown in the article I linked to.

  • Can Java create HTML tables without running a web server?

    Hello,
    I would like to know if Java can output data into a simple HTML-like table without having to run a web server or jsp etc.
    I want my program to access a database and print records in HTML-like table cells.
    It is actually for an events calendar program, where each event would be printed in a cell (date). There would be a variable number of events per cell (date), with each one being editable.
    I have seen various "web" calendars like this but I want to make it a desktop application so that it is not dependant on the functioning (or non-functioning!) of a web server.
    Can Java do this? I would settle for any type of prewritten table creator (not necessarily HTML) but I do not want Excel type tables or a table where entries must be GUI buttons, such as in Outlook.
    Thank you very much for any idea you may have,
    Cat

    Thank you for the replies :)
    I found something with Jeditorpane (JTextComponent and HTML Text Display) at
    http://msp-of.de/oreilly/books/javaenterprise/jfc/ch03_21.htm
    which looks like what I want. It allows hyperlinks within the table cells and I'm not sure if JTable allows for that. Also, I will want multiple lines and even images (eg moon phases for the calendar) in each cell. I ran the example above and it works great. And yes, it makes use of the HyperlinkListener.
    I don't want to create an HTML file for those who suggested that. I just want the flexibility of HTML formatting withing my standalone Java application.
    I am still not sure why everyone is suggesting JTable though :) So I will look at it some more. The link above also has a turorial on JTable and does say its faster that JEditor pane because it doesn't have to do any HTML rendering. But it doesn't look to me like it can really ever look like a calendar.....
    Thank you again! Being a total Java novice, I am very impressed with how easy JEditorpane is.
    Cat

  • Why does Sun Java 1.4.2 not run in IE (Windows XP)?

    Hi. I hope someone can help me. I have installed Windows XP SP1a and straight away, I removed MSJVM from my system using Microsoft's own Java Removal Tool (1.0a?), as it does the most thorugh job of removing the dated technology from the system.
    However installing Sun Java into the system becomes a problem. It installs fine, with no errors, the ActiveX modules are installed into IE and the Sun Java option is present under Advanced Internet Options, however any Java applets embedded in HTML (eg www.jpilot.com/chat.html) will not load at all. I will just get the white box with a cross, the standard placeholder from IE when it can't run the embedded object. Is Sun Java dependant on a certain old MSJava file/component being installed?

    I am unable to resolve this. The error shown by java console is:-
    Java Plug-in 1.6.0_02
    Using JRE version 1.6.0_02 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\955995
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system and deployment properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to <n>
    load: class apXPDropDown.class not found.
    java.lang.ClassNotFoundException: apXPDropDown.class
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed.
         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
         at sun.applet.AppletClassLoader.access$100(Unknown Source)
         at sun.applet.AppletClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 10 more
    Plz help.
    Some other applets are running fine but one particular fails while loading.

  • Does Orale mSync 10.2.0.2 run with Mobile Server 9i?

    I'm trying to synchronize Oracle Mobile Client 10g R2 in my PDA with Mobile Server 9i, but the next error happens:
    CSN - 9024 Network disconnect during sync, check network is active
    I have installed Oracle Lite (10.2.0.2) in two PDAs with Windows Mobile 2003 and Mobile 2005 and the same error happen.
    Exists incompatibility between Mobile Client 10g and Mobile Server 9i?
    Thanks

    Unlikely this will work.
    I got the same issue trying to use a 10.2 client synchronising with a 10.0 server. Should be ok the other way around as the older clients seem to work with the new server, at least as far as data synchronisation is concerned. There is a problem using an older client with a 10.2 server in terms of the DMC/DMS handshake as it does not correctly recognise the user

  • How do I run multiple java apps in one JVM to reduce memory use?

    Hi all,
    I saw an article either on the web or in a magazine not too long ago about how to "detect" if the app is already running, and if so, it hands off the new instance to the already running JVM, which then creates a thread to run the Java app in. As it turns out, my app will be used in an ASP environment, through Citrix. We may have as many as 50 to 100 users running the same app, each with their own unique user ID, but all using the same one server to run it on. Each instance eats up 25MB of memory right now. So the question is if anybody knows of a URL or an app like this that can handle the process of running the same (or even different Java) apps in one JVM as separate threads, instead of requring several instances of the JVM to run? I know this article presented a fully working example, and I believe I know enough to do it but I wanted ot use the article as a reference to make sure it is done right. I know that each app basically would use the same one "launcher" program that would on first launch "listen" to a port, as well as send a message through the port to see if an existing launcher was running. If it does, it hands off the Java app to be run to the existing luancher application and shuts down the 2nd launching app. By using this method, the JVM eats up its normal memory, but each Java app only consumes its necessary memory as well and doesn't use up more JVM instance memory.
    Thanks.

    <pre>
    import java.util.Properties;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.lang.reflect.Method;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Enumeration;
    import java.util.NoSuchElementException;
    public class RunProg implements Runnable, Cloneable
    private String iProg;
    private String iArgs[];
    public static void main(String args[])
    new RunProg().main();
    // first step is to start main program itself
    private void main()
    Properties properties = System.getProperties();
    try
    properties.load(new FileInputStream("RunProg.properties"));
    catch(IOException e)
    System.setProperties(properties);
    int i = 0;
    System.out.println("enter main, activeCount=" + Thread.activeCount());
    while(true)
    String program = properties.getProperty("Prog" + i);
    if(program == null)
    break;
    StringTokenizer st = new StringTokenizer(program);
    String[] args = new String[st.countTokens() - 1];
    try
    RunProg rp = (RunProg)this.clone();
    rp.iProg = st.nextToken();
    for(int j = 0; st.hasMoreTokens(); j++)
         args[j] = st.nextToken();
    rp.iArgs = args;
    Thread th = new Thread(rp);
    th.setName("prog" + i + "=" + program);
    th.start();
    System.out.println("prog" + i + "=" + program + ", started");
    catch(CloneNotSupportedException e)
    System.out.println("prog" + i + "=" + program + ", can't start");
    i++;
         System.out.println("end of main, activeCount=" + Thread.activeCount());
    // next step is to start all others one by one
    public void run()
    try
    Class c = Class.forName(iProg);
    Class p[] = new Class[1];
    p[0] = String[].class;
    Method m = c.getMethod("main", p);
    Object o[] = new Object[1];
    o[0] = iArgs;
    m.invoke(null, o);
    catch(ClassNotFoundException e)
    System.out.println(iProg + "ClassNotFoundException");
    catch(NoSuchMethodException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(InvocationTargetException e)
    System.out.println(iProg + "NoSuchMethodException");
    catch(IllegalAccessException e)
    System.out.println(iProg + "NoSuchMethodException");
    System.out.println(Thread.currentThread().getName() + ", ended");
    System.out.println("exit run, activeCount=" + Thread.activeCount());
    // setup SecurityManager to disable method System.exit()
    public RunProg()
         SecurityManager sm = new mySecurityManager();
         System.setSecurityManager(sm);
    // inner-class to disable method System.exit()
    protected class mySecurityManager extends SecurityManager
         public void checkExit(int status)
              super.checkExit(status);
              Thread.currentThread().stop();
              throw new SecurityException();
    * inner-class to analyze StringTokenizer. This class is enhanced to check double Quotation marks
    protected class StringTokenizer implements Enumeration
    private int currentPosition;
    private int maxPosition;
    private String str;
    private String delimiters;
    private boolean retTokens;
    * Constructs a string tokenizer for the specified string. All
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens.
    * <p>
    * If the <code>returnTokens</code> flag is <code>true</code>, then
    * the delimiter characters are also returned as tokens. Each
    * delimiter is returned as a string of length one. If the flag is
    * <code>false</code>, the delimiter characters are skipped and only
    * serve as separators between tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    * @param returnTokens flag indicating whether to return the delimiters
    * as tokens.
    public StringTokenizer(String str, String delim, boolean returnTokens)
    currentPosition = 0;
    this.str = str;
    maxPosition = str.length();
    delimiters = delim;
    retTokens = returnTokens;
    * Constructs a string tokenizer for the specified string. The
    * characters in the <code>delim</code> argument are the delimiters
    * for separating tokens. Delimiter characters themselves will not
    * be treated as tokens.
    * @param str a string to be parsed.
    * @param delim the delimiters.
    public StringTokenizer(String str, String delim)
    this(str, delim, false);
    * Constructs a string tokenizer for the specified string. The
    * tokenizer uses the default delimiter set, which is
    * <code>"&#92;t&#92;n&#92;r&#92;f"</code>: the space character, the tab
    * character, the newline character, the carriage-return character,
    * and the form-feed character. Delimiter characters themselves will
    * not be treated as tokens.
    * @param str a string to be parsed.
    public StringTokenizer(String str)
    this(str, " \t\n\r\f", false);
    * Skips delimiters.
    protected void skipDelimiters()
    while(!retTokens &&
    (currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    * Tests if there are more tokens available from this tokenizer's string.
    * If this method returns <tt>true</tt>, then a subsequent call to
    * <tt>nextToken</tt> with no argument will successfully return a token.
    * @return <code>true</code> if and only if there is at least one token
    * in the string after the current position; <code>false</code>
    * otherwise.
    public boolean hasMoreTokens()
    skipDelimiters();
    return(currentPosition < maxPosition);
    * Returns the next token from this string tokenizer.
    * @return the next token from this string tokenizer.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken()
    skipDelimiters();
    if(currentPosition >= maxPosition)
    throw new NoSuchElementException();
    int start = currentPosition;
    boolean inQuotation = false;
    while((currentPosition < maxPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) < 0 || inQuotation))
    if(str.charAt(currentPosition) == '"')
    inQuotation = !inQuotation;
    currentPosition++;
    if(retTokens && (start == currentPosition) &&
    (delimiters.indexOf(str.charAt(currentPosition)) >= 0))
    currentPosition++;
    String s = str.substring(start, currentPosition);
    if(s.charAt(0) == '"')
    s = s.substring(1);
    if(s.charAt(s.length() - 1) == '"')
    s = s.substring(0, s.length() - 1);
    return s;
    * Returns the next token in this string tokenizer's string. First,
    * the set of characters considered to be delimiters by this
    * <tt>StringTokenizer</tt> object is changed to be the characters in
    * the string <tt>delim</tt>. Then the next token in the string
    * after the current position is returned. The current position is
    * advanced beyond the recognized token. The new delimiter set
    * remains the default after this call.
    * @param delim the new delimiters.
    * @return the next token, after switching to the new delimiter set.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    public String nextToken(String delim)
    delimiters = delim;
    return nextToken();
    * Returns the same value as the <code>hasMoreTokens</code>
    * method. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return <code>true</code> if there are more tokens;
    * <code>false</code> otherwise.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#hasMoreTokens()
    public boolean hasMoreElements()
    return hasMoreTokens();
    * Returns the same value as the <code>nextToken</code> method,
    * except that its declared return value is <code>Object</code> rather than
    * <code>String</code>. It exists so that this class can implement the
    * <code>Enumeration</code> interface.
    * @return the next token in the string.
    * @exception NoSuchElementException if there are no more tokens in this
    * tokenizer's string.
    * @see java.util.Enumeration
    * @see java.util.StringTokenizer#nextToken()
    public Object nextElement()
    return nextToken();
    * Calculates the number of times that this tokenizer's
    * <code>nextToken</code> method can be called before it generates an
    * exception. The current position is not advanced.
    * @return the number of tokens remaining in the string using the current
    * delimiter set.
    * @see java.util.StringTokenizer#nextToken()
    public int countTokens()
    int count = 0;
    int currpos = currentPosition;
    while(currpos < maxPosition)
    * This is just skipDelimiters(); but it does not affect
    * currentPosition.
    while(!retTokens &&
    (currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    if(currpos >= maxPosition)
    break;
    int start = currpos;
    boolean inQuotation = false;
    while((currpos < maxPosition) &&
    (delimiters.indexOf(str.charAt(currpos)) < 0 || inQuotation))
    if(str.charAt(currpos) == '"')
    inQuotation = !inQuotation;
    currpos++;
    if(retTokens && (start == currpos) &&
    (delimiters.indexOf(str.charAt(currpos)) >= 0))
    currpos++;
    count++;
    return count;
    </pre>
    RunProg.properties like this:
    Prog1=GetEnv 47838 837489 892374 839274
    Prog0=GetEnv "djkfds dfkljsd" dsklfj

  • Tracing Java Processes that spawns child process

    I hope I'm posting this in the correct group. If not, please let me know where to direct this question:
    In our 12.1.3 Applications, we installed a plugin called 'Org Chart' by Applaud Solutions.  It is a flash component that graphically displays the employee hierarchy of an organizations and is accessed via responsibility.  This tool also has a feature to 'export' the chart as a  Microsoft Word or PowerPoint to the users desktop.  When this occurs, a 'java' process is kicked off on the applications server to process this request.  Now, here's the issue: The performance of this export is terrible!  It takes roughly about 2-3 minutes to complete, and sometimes never completes.  Here is the java process that gets kicked off for one user which i figured out how to run manually:
    [applprod1@aspapp012 ~]$ java -jar OpenOfficeGenerator.jar /u01/applprod1/PROD1/apps/apps_st/appl/xxas/1.0.1/out/orgchart-f78b7a67-a379-4f7d-9dcf-5f13b22e03e4.xml /tmp/ed.pptx docx NameandTitle letter Y normal
    When I kick this off, I'm able to get the linux PID :
    9056
    22523 24779 62 16:21 pts/0
    00:00:06 java -jar OpenOfficeGenerator.jar /u01/applprod1/PROD1/apps/apps_st/appl/xxas/1.0.1/out/orgchart-f78b7a67-a379-4f7d-9dcf-5f13b22e03e4.xml /tmp/ed.pptx docx NameandTitle letter Y normal
    Then, I run an 'strace -f -p 22523' and notice these timeout issues from child processes that is spawns:
    [pid 22524] read(3, "\n", 1)       
    = 1
    [pid 22524] _llseek(3, 18642588, [18642588], SEEK_SET) = 0
    [pid 22524] read(3, "\0", 1)       
    = 1
    [pid 22524] _llseek(3, 18642589, [18642589], SEEK_SET) = 0
    [pid 22536] <... futex resumed> )  
    = -1 ETIMEDOUT (Connection timed out)
    [pid 22524] read(3,  <unfinished ...>
    [pid 22536] futex(0x972b728, FUTEX_WAKE_PRIVATE, 1) = 0
    [pid 22536] gettimeofday({1384208528, 131781}, NULL) = 0
    [pid 22536] clock_gettime(CLOCK_MONOTONIC, {33657710, 707532536}) = 0
    [pid 22536] gettimeofday({1384208528, 131844}, NULL) = 0
    [pid 22536] clock_gettime(CLOCK_REALTIME, {1384208528, 131892000}) = 0
    [pid 22536] futex(0x965d2bc, FUTEX_WAIT_PRIVATE, 1, {0, 49952000} <unfinished ...>
    My question is does anyone know how i can determine what is causing these timeouts?  It seems the java process spawns off child processes and this is where the timeouts are occurring.  Upon further investigation the child processes are throwing the following errors as well:
    futex(0x905f1b4, FUTEX_WAIT_PRIVATE, 67, NULL) = 0
    futex(0x905ed28, FUTEX_WAKE_PRIVATE, 1) = 0
    futex(0x906345c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9063458, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
    futex(0x905f1b4, FUTEX_WAIT_PRIVATE, 69, NULL) = -1 EAGAIN (Resource temporarily unavailable)
    futex(0x905ed28, FUTEX_WAKE_PRIVATE, 1) = 0
    However, I am unable to determine the cause of the timeout and resource issue. Any ideas or help is greatly appreciated! thanks.

    I would suggest you consult "Applaud Solutions" for this issue.
    Thanks,
    Hussein

  • 32 bit JVM running on 64 bit OS

    Hi,
    I would like to know how much memory can use a java process if the JVM is 32 bit and the SO is 64 bit, for example on windows a 32 bit process can use as max 2GB so java heap+native memory+thread stuck=2GB, but what happend if a JVM of 32 bit is running on a 64 bit OS, how much memory can use a java process?java heap+native memory+thread stuck=? any help will be appreciate,
    regards

    Peter Lawrey wrote:
    On a 32-bit Windows, the JVM can use atleast 1.2 GB, On a 64 bit Windows, you may get closer to 2 GB. Really?
    The reason for the limit (Sun VM) is the way that it is built, it uses a base address that tells the OS to run it from a certain place and because of that and the contigous requirement it can't get anymore memory (actually about 1.6 gigs.)
    So for it to work differently on 64 bits it would seems likely that the OS would need to run it from a different location.

  • All Java Processes crash on RH Linux 7.3 / 6.3 without any comment

    We have the following Problem on two Machines. We installed j2sdk1.4.0 first, then jdk-1.3.1_04 (Because of other Problems with 1.4.0).
    Now all running java Processes crash after up to two hours without any comment, any error file. Looks like they were killed by the 'kill' Command. The running java Processes are different Programs, that do very different things.
    The OS on the two machines are RH Linux 7.3 and 6.3 - normal installation without any essential changes.
    I would be very happy, if someone have an idea, how to solve this Problem. If you need additional Information, ask for.
    Holger

    ... if someone have an idea, how to solve this Problem.Seems like I remember seeing a problem like that.
    It turned out that indeed it was the 'kill' command. Another process was running, looking for the app, and killing it when it found it.
    We spend quite a bit of time trying to figure out why our app was 'crashing' before deciding to look elsewhere (when we discovered the other process.)

  • How to? More than 2 java processes...

    Hi all!
    I wonder how I can communicate between 2 or more different java processes running on the same machine?
    I know that I can use RMI, CORBA or some plain socket programming. Is there any more ways to do this?
    Cheers
    Anders =)

    Sockets is the lowest level of communication. RMI and CORBA sit on top of sockets. Their is also MPI but I don't actively know of a java MPI implementation. I worked on one 3-4 years ago, but its really probably not necessary with the current options.

  • 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

  • Java processes

    Dear all,
    I am using Oracle 10.2.0.3 on Linux.
    When I do ps -ef on the server I see a lot of java process spawned. There are so jobs or anything running which executes any java processes. Then why is it so.
    Please help.
    Regards
    SL

    Try not making any threads. Just do a single Thread.sleep in main. Then count how many java processes there are. If your OS implements threads as lightweight processes, there will be several. One will be your main thread and the others will be those of the VM.

  • JRockit - Monitor JRockit java process

    Hello everyone, We have Weblogic installed in our environment (Windows Server 2008R2) which is using JRockit as Java platform. I ran into issue where I cannot monitor the java process (connect to JVM) through the JRMC (JRockit Mission Control) as this java process is running from SYSTEM user account. Therefore it's not displaying as local JVM. If I run it through my account I can monitor it fine. Anyone can suggest how to monitor the java process which was ran from the SYSTEM account. I cannot login as the SYSTEM to the server tho. Thank you, Viktor Ozerov

    Yes, that correct. You could enable ssl and/or authenticate to avoid that,
    but I also think it's possible to enable only the local management agent, if you specify:
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=true
    (I think local.only defaults to true if you don't set any of the port properties, but I need to find out more about this)

  • Scheduled java process; how to do ?

    Hi,
    I have a question:
    1) I want to schedule a java process every night at midnigt. What are the options that i have to achieve this ?
    I know that we can put this java process in a cronjob, but the Linux server does not allow the non-priviledged users to run a cronjob. And we can not get "root" to run this process.
    Please let me know know of any ideas how to achieve the same.
    Thanks again for all your advised in the past too.
    Best Regards, sangita

    hmmm .....are you sure that a non-priviledges user
    can run a crontab on LINUX. I know that this is true
    on SUN UNIX but what i have been told is that you CAN
    NOT run a crontab as a non-proviledged user on
    LINUX.
    Iam not that familiar with LINUX administrationIt's configurable. The admins can allow/deny cron rights to individuals or to everybody.
    Try typing crontab -l or crontab -e and see what happens.
    If you're not allowed, I don't know if the crontab command itself would fail, or if you just won't be allowed to create entries, so crontab -l not giving an error might not necessarily mean you have permission (though I think that it does).
    You can use crontab -e to create entries. Put an entry in for yourself that touches a file 2 minutes from now, and see if it works.

  • Run java as a different process name in Linux

    I have multiple java applications running on a linux platform. When I look at the process list, they all say java. I want them to have a unique process name. The closest I have gotten is starting the java app in a script, and that script name shows up as well as the java app. This could be all fine and dandy, but if someone kills the script, the java process continues on. It would be nice if I could say run this process as this name in Linux, but I know of no such thing. I asked this on LinuxQuestions.org and got a response to use Launch4J...which creates executables for Windows...so that wasn't very helpful. I was hoping the Java community might have a little more insight.

    rename the java binaryOr instead of renaming, you could do a symlink... I
    don't have a machine to test on, but I think creating
    a symlink to the java executable and running that
    symlink would change the executable's name in the
    process table.nah, the process would still be called 'java'

Maybe you are looking for