Running jvm 32 on  SUNW,UltraSPARC-IIe, OS 5.8

I am using java 1.4.2_05 jvm on SUNW,UltraSPARC-IIe in 32 bit mode defualt. The SUN os is configured to run in 64 Bit mode.
My question is
1) What is the effect of JVM 32 running on a 64 Bit OS
2) I am using a JNI in my project. The system goes into hanging mode during calls to jni methods and it sporadic.
4) I am not able to make a thread dump using kill -3 <java pid>
Is there a way to make a java thread dump under these situatuations.

I am using java 1.4.2_05 jvm on SUNW,UltraSPARC-IIe
in 32 bit mode defualt. The SUN os is configured to
run in 64 Bit mode.
My question is
1) What is the effect of JVM 32 running on a 64 Bit OSYou cannot allocate more than 3.8 GB of heap (if you
have that much physical memory).
2) I am using a JNI in my project. The system goes
into hanging mode during calls to jni methods and it
sporadic.I would recommend trying Sun Studio 9
http://wwws.sun.com/software/products/studio/index.html
It comes with great Java/Native debugger and profiler.
4) I am not able to make a thread dump using kill -3
<java pid>Unless you are starting with the -Xrs option, it probably
means you're stuck somewhere in native code.
Is there a way to make a java thread dump under these
situatuations.Studio 9
-Alexis

Similar Messages

  • Code to perform a manual GC for running JVM

    Hi,
    Can anyone share the code to connect to a running JVM and perform a manual garbage collection when the heap size goes beyond say 1.2GB or so.
    thanks
    vbe

    vbejava wrote:
    Fine, agreed. but "may not be" can be some time "may be" rite!!! so whenever possible let it do that !!
    As of now, I have configured an OEM alert which will send an email whenever the Heap Size goes beyond 1.3GB. Then I use the button "Perform GC" in the jconsole which help in reducing the Heap Size and there by avoiding OutOfMemory error.
    All I want is to do this "Perform GC" used by jconsole, using a java code. The java code should connect to a running JVM, check the Heap Size every 5minutes or so, and perform GC
    Is there a code which can perform this?
    thanks,
    vbeDon't bother. The gc is guaranteed to have run before an OutOfMemory error is thrown.

  • Running JVM in Linux with execl

    Why if I run JVM under Linux and with execl the first argument is lost?
    For example if I want to run java -version I have to do:
    execl("/usr/lib/java5/bin/java","nothing","-version");
    If I do execl("/usr/lib/java5/bin/java","-version"); it doesn't works and appears the help message that appears when you are wrong with the parameters.
    This is an innocent thing when you know it, but that has caused me a lot of headaches and debug time and now I'm curios about it ;)
    PD: I use jdk-1_5_0_01 and Suse 9.1
    A lot of thanks in advance,

    /* a.c */
    #include <stdio.h>
    #include <stdlib.h>
    int main() {
    int r=execl("./b","nothing","-version",NULL);
    printf("%d\n",r);
    /* b.c */
    #include <stdio.h>
    int main(int argc,char *argv[]) {
    int i;
            for(i=0;i<argc;i++) printf("%d %s\n",i,argv);
    $ gcc a.c -o a
    $ gcc b.c- o b
    $ ./a
    0 nothing
    1 -version

  • How can I  re-use a running JVM ?

    HI All:
    I am interested in finding about how to re-utilize the capabilities of a running VM. The problem I am into involves writing a java-based command-line interface. Each command is of the following format :
    runapp <sub-command>
    The "runapp" command should check if there is a running JVM. If not it should start a new one. If there is one already then it should re-use its capability for executing the "sub-command". Each of the sub-commands are in the same namespace.
    How can the VM be tuned such that it does not shut down after the first invocation ?
    All suggestions are welcomed.
    Mankalkaji

    HI All:
    I am interested in finding about how to re-utilize the
    capabilities of a running VM. The problem I am into
    involves writing a java-based command-line interface.
    Each command is of the following format :You are writing a shell in java. Then by definition there will always be a running JVM because that is what the shell runs in.
    >
    runapp <sub-command>
    The "runapp" command should check if there is a
    running JVM. If not it should start a new one. If
    there is one already then it should re-use its
    capability for executing the "sub-command". Each of
    the sub-commands are in the same namespace. Doubt it. You could certainly write a server. And it accepts commands and runs them. However, it is going to need to know what the commands are and how to load them/run them. And they can't interact with any other commands. If you constrain it to that then you can do it (you would have to use a socket to check if it is already running.)
    But if you can't constrain it then it won't work.
    >
    How can the VM be tuned such that it does not shut
    down after the first invocation ?
    It can't. If the JVM is out of work (all non-daemon threads exit) then it stops. And if something calls System.exit() then it will end regardless.
    You can of course create a thread that does nothing but spin and that would prevent that problem.

  • Enable remote debugging in a running JVM

    Is it possible to debug an application, which is already running in the server without restarting. If so how? if not what is the reason?
    steps:
    1. run the application in the server with out adding the debugging arguments.
    2. once server is up, debug the application.
    Thanks!!

    yes, i believe it is possible. it's kind of obscure information, but it is basically similar to the ability of jvisualvm to dynamically attach to running java processes (in later versions of the jdk). this is enabled via some platform specific means of communication which dynamically starts the remote jmx agent within the running jvm (the last bit being the part that is relevant to your question). i don't know off-hand what incantations are necessary, but google should be able to find something about dynamically starting agents in running java vms.
    sure enough (and it seems to be related to the Attach API, which is what jvisualvm uses): http://osi.fotap.org/2008/06/27/dynamically-installing-agents-in-java-6/
    Edited by: jtahlborn on Nov 6, 2010 9:33 AM

  • How to check bit mode of running JVM

    HI experts,
    i am using JNI which are 64 bit . libraries looks well at their proper place.
    but stll i m facing error
    [java.lang.UnsatisfiedLinkError: /xxx/xxx/xxx/xxx/native_bin/mylib.so: ld.so.1: java: fatal: /xxx/xxx/xxx/xxx/native_bin/mylib.so: wrong ELF class: ELFCLASS64]]
    i want to confirm about bit mode of running JVM as it should be 64 bit.
    i m using solaris 9. can any body tell how to check running JVM bit mode that is (wheather it is 32 bit or 64 bit)
    thanx

    HI experts,
    i am using JNI which are 64 bit . libraries looks well at their proper place.
    but stll i m facing error
    [java.lang.UnsatisfiedLinkError: /xxx/xxx/xxx/xxx/native_bin/mylib.so: ld.so.1: java: fatal: /xxx/xxx/xxx/xxx/native_bin/mylib.so: wrong ELF class: ELFCLASS64]]
    i want to confirm about bit mode of running JVM as it should be 64 bit.
    i m using solaris 9. can any body tell how to check running JVM bit mode that is (wheather it is 32 bit or 64 bit)
    thanx

  • /SUNW, Ultrasparc@4,0 status fail

    Hello,
    I was trying to install Solaris 10 on Enterprise 4000 and got following message. What does this mean?
    WARNING: Status 'fail' for '/SUNW, Ultrasparc@4,0' on board 2.
    Thanks.

    Thanks BNI,
    here are the files I deleted as per StevenB4's link posted above:
    /System/Library/Extensions/AppleMobileDevice.kext
    /Library/Receipts/AppleMobileDeviceSupport.pkg
    Shame it didn't work with the files I tried, but thanks for your post - if I'd only known. Doh!
    The MBPro is my secondary (backup/travel machine) so I just setup a new account to fix it. I was away for the weekend & had my MBP with me when I purchased the phone, I got it to use with my trusty old G5 tower so a fresh install of iTunes then a new temporary account was no hassle on the MBP.
    It's working a treat on the G5, not a single issue!
    I hope this thread helps others who have this issue. Thanks everyone for the input.

  • Forcing the use of a currently-running JVM

    Hi there.
    I am writing a Java application. Now, due to the (relatively) slow startup times of Java apps, I would like to enable my app to startup when the user's OS loads, but in the background (i.e. no GUI). Then, when the user double-clicks the icon to actually run my app, the background instance becomes visible and the user doesn't need to wait.
    My problem is that when the user double-clicks to run my app, a new JVM instance is started... which can't access the state info, threads etc. held in the JVM that contains my hidden app. I need a way to force my shortcut to use the currently-running JVM.
    I think this will require some dipping into native code to access the already-running JVM process, but I'd prefer not to do that. So, can anyone help me out here?
    (The above is a bit incoherent, I know. If it's not clear then please ask and I will try to clarify.)

    It's going to either:
    1. Require native code
    2. Require that you launch another JVM, at least temporarily
    Either way, you can have your Java app listen on a pre-determined port number, and your native (or Java app), when launched, attempts to send a special message to that port. When received, the application can show itself.
    If you want the double click to be on the exact same icon, then you are going to have to do #2, which means that you are going to be loading a new JVM - at least temporarily. If the time you are worried about is how long it takes the JVM to start, then that's not going to work. If the startup time is long because of things that your app is doing, then it will work.
    - K

  • What is difference between SUNW,UltraSPARC-IIIi and  US-III+

    Hi All,
    I am trying to finalise a VxVM version for a Solaris 8 version. On the Solaris machine I see,
    System Configuration: Sun Microsystems sun4u Sun Fire 280R (UltraSPARC-III+)
    System clock frequency: 150 MHz
    Memory size: 4096 Megabytes
    ========================= CPUs ===============================================
    Run E$ CPU CPU
    Brd CPU MHz MB Impl. Mask
    A 0 1200 8.0 US-III+ 11.0
    On the compatibility matrix I see only Ultra Sparc IIIi and no III+ . Are they both same or hugely diffrent?
    Please help.
    Regards,
    Anand

    Google
    ["SPARC IIIi versus SPARC III"|http://www.google.com/search?hl=en&q=SPARC+iiii+versus+sparc+iii&btnG=Google+Search&aq=f&oq=]
    Find Ben Rockford's blog comparing Sun's cpu architectures.
    [http://www.cuddletech.com/blog/pivot/entry.php?id=332|http://www.cuddletech.com/blog/pivot/entry.php?id=332]

  • Error on running JVM from a C program

    Hello there!!
    I'm using Open Watcom as a C compiler on Windows XP. I'm trying to run a JVM from a C program.
    I have specified the following as a library file :
    C:\Java\jdk1.5.0_04\lib\jvm.lib
    The code compiles very well, but I'm getting an error when running it.
    Windows tells me the following :
    "The entry point of the function ??_7VM_GetCurrentLocation@@6B@ can't be found in jvm.dll dynamic linking library"
    The code I've been trying to run is the following one :
    #include <jni.h>
    #include <stdio.h>
    #include <stdlib.h>
    void main()
    JavaVMOption options[3];
    JavaVMInitArgs vm_args;
    JavaVM *jvm;
    JNIEnv *jenv;
    long result;
    jmethodID mid;
    jfieldID fid;
    jobject jobj;
    jclass cls;
    int asize;
    printf("coucou\n");
    getchar();
    options[0].optionString = ".";
    options[1].optionString = "-Djava.compiler=NONE";
    options[2].optionString = "-verbose:jni";
    vm_args.version = JNI_VERSION_1_2;
    vm_args.options = options;
    vm_args.nOptions = 3;
    vm_args.ignoreUnrecognized = JNI_FALSE;
    JNI_GetDefaultJavaVMInitArgs(&vm_args);
    result = JNI_CreateJavaVM(&jvm,(void **)&jenv, &vm_args);
    /* if(result == JNI_ERR )
    printf("Error invoking the JVM");
    exit (-1);
    cls = (*jenv)->FindClass(jenv,"C:\Formation\Joly\FromCtoJava\WATCOM\samples\ide\win32\FromCtoJava");
    /* if( cls == NULL )
    printf("can't find class FromCtoJava\n");
    exit (-1);
    (*jenv)->ExceptionClear(jenv);
    mid=(*jenv)->GetMethodID(jenv, cls, "<init>", "()V");
    jobj=(*jenv)->NewObject(jenv, cls, mid);
    fid=(*jenv)->GetFieldID(jenv, cls, "arraySize", "I");
    asize=(*jenv)->GetIntField(jenv, jobj, fid);
    printf("size of array is %d",asize);
    (*jvm)->DestroyJavaVM(jvm);*/
    Cheers
    Joly

    I already did PATH.
    Open a console window.
    Explicitly set PATH to point ONLY to the appropriate java directory (where the dll is and executable) using something like the following
    set PATH=C:\xxx\yyy
    Then run your app again in the console window - no where else.

  • Join running JVM

    My program is win32 EXE written in C++.
    It calls java method through JNI.
    Now I must create and start new JVM each time the exe is started.
    Is it possible to find and join JVM that is already running?

    When your code starts up it creates a thread which tries to connect via a socket server to the local host using a fixed port (like 53999.) It waits for messages (commands) and executes those messages.
    If it fails it means that it is already running, so it can then create a regular socket and connect to it. Then it sends requests to the orginal one.

  • Setup.exe-install won't run-jvm-Error

    Hello forum I use win2000 with service pack4,
    and download Oracle9i Release 2 (9.2.0.1)
    but when I try to launch the universal installer that comes with the download, it start very find but when I tried next it just desapeared,just stop.
    Actually I had oracle 8.1.7 installed on my computer the problem started when I upgraded my win2000 to service pack3,and now to 4.
    C:\>java -version
    java version "1.4.1"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21
    Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
    very desperated situation.
    HERE IS THE LOGFILE.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d48720a
    Function name=JVM_FindSignal
    Library=C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\hotspot\jvm.dll
    Current Java thread:
    at oracle.sysman.oii.oiip.osd.win32.OiipwWin32NativeCalls.GetAllOracleHomes(Native Method)
    at oracle.sysman.oii.oiip.oiipg.OiipgOracleHomes.getAllOracleHomes(OiipgOracleHomes.java:1136)
    at oracle.sysman.oii.oiip.oiipg.OiipgOracleHomes.getAllHomes(OiipgOracleHomes.java:1198)
    at oracle.sysman.oii.oiif.oiifw.OiifwInvLocWCCE.initialize(OiifwInvLocWCCE.java:106)
    at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:129)
    at oracle.sysman.oii.oiic.OiicPullSession.doOperation(OiicPullSession.java:586)
    at oracle.sysman.oii.oiic.OiicSessionWrapper.doOperation(OiicSessionWrapper.java:177)
    at oracle.sysman.oii.oiif.oiifb.OiifbLinearIterator.iterate(OiifbLinearIterator.java:116)
    at oracle.sysman.oii.oiic.OiicInstaller.run(OiicInstaller.java:358)
    at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:637)
    Dynamic libraries:
    0x00400000 - 0x00405000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\javaw.exe
    0x77F80000 - 0x77FFC000 C:\WINNT\system32\ntdll.dll
    0x78ED0000 - 0x78F32000 C:\WINNT\system32\ADVAPI32.dll
    0x79290000 - 0x7934C000 C:\WINNT\system32\KERNEL32.DLL
    0x77120000 - 0x77191000 C:\WINNT\system32\RPCRT4.DLL
    0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
    0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
    0x78000000 - 0x78045000 C:\WINNT\system32\MSVCRT.dll
    0x75E30000 - 0x75E4A000 C:\WINNT\system32\IMM32.DLL
    0x6D420000 - 0x6D4EF000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\hotspot\jvm.dll
    0x77550000 - 0x77581000 C:\WINNT\system32\WINMM.dll
    0x6D220000 - 0x6D227000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\hpi.dll
    0x6D3B0000 - 0x6D3BD000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\verify.dll
    0x6D250000 - 0x6D266000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\java.dll
    0x6D3C0000 - 0x6D3CD000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\zip.dll
    0x6D020000 - 0x6D128000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\awt.dll
    0x77800000 - 0x7781E000 C:\WINNT\system32\WINSPOOL.DRV
    0x79360000 - 0x79371000 C:\WINNT\system32\MPR.DLL
    0x77A50000 - 0x77B47000 C:\WINNT\system32\ole32.dll
    0x6D1E0000 - 0x6D21B000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\fontmanager.dll
    0x72850000 - 0x72856000 C:\WINNT\system32\DCIMAN32.dll
    0x16810000 - 0x16991000 C:\WINNT\system32\nvoglnt.dll
    0x6E3B0000 - 0x6E3B6000 C:\WINNT\system32\INDICDLL.dll
    0x6D2C0000 - 0x6D2DB000 C:\Disk1\stage\Components\oracle.swd.jre\1.3.1.1.0a\1\DataFiles\Expanded\bin\jpeg.dll
    0x727B0000 - 0x727F6000 C:\WINNT\system32\ddraw.dll
    0x1B4E0000 - 0x1B4F5000 C:\Disk1\stage\Components\oracle.swd.oui\2.2.0.12.0\1\DataFiles\Expanded\bin\win32\oraInstaller.dll
    0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
    0x729B0000 - 0x729DD000 C:\WINNT\system32\DBGHELP.dll
    0x731B0000 - 0x731BA000 C:\WINNT\system32\PSAPI.DLL
    Local Time = Fri Aug 15 18:24:06 2003
    Elapsed Time = 6
    # HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
    # Error ID : 4F530E43505002CC
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    # Java VM: Java HotSpot(TM) Client VM (1.3.1-b24 mixed mode)

    Hi,
    You could probably post your question in the Database Installation for a better reponse.
    Hope this helps.
    Sujatha.

  • Java 1.6 U12 installer not detecting running JVM

    What does the installer look for when upgrading to decide if a JVM is running? I have a problem where it does not realize a DLL is in use and it continues to install.
    Thanks.

    See this post:
    http://forums.sun.com/thread.jspa?threadID=5375847

  • SunPKCS11 : unable to reload nss-db in running jvm

    I'm using SunPKCS11 to load and check certificates from a nssdb store:
    KeyStore ks = KeyStore.getInstance("PKCS11", "SunPKCS11-nssdb");
    ks.load(null, "".toCharArray());
    This works fine, but eventhough the documentation of Keystore.load() method states "Note that if this keystore has already been loaded, it is reinitialized and loaded again from the given input stream.", but in a given JVM runtime, I cannot see changes in the nssdb, done by CLI outside the JVM, even calling this method again.
    I found other questions reporting this issue, but no clear answer.
    (note: running this on openJDK1.7, but openJDK1.6 shows the same behaviour)
    Any comment is wellcome...

    ther eis no MMC SAP snapin for Oracle.
    Period.
    Forget about it. SAP has never released it and I believe it doe not plan to do so neither.

  • How to change JVM options from a running JVM

    Hello, I have to launch a remote application on my machine. I managed to do that with code that invokes the main method of the application I want to execute. What I do is to launch an instance of the class containing main function, here is an extract of the code:
    Object obj = ....; //obj is the class containg main, for instance MyClass
    java.lan.reflect.Method m = .....; //m is the main method
    Object result = m.invoke(obj, args);This works, the main method gets called and so the application starts. Of course, the main method is called from a jar built in the right way.
    But the way the main method gets called is like doing
    java MyClassNow I have the problem to launch this application with some options to java command (these options are about remote debugging with JDI ).
    In other words, what I would like to dis the following, if I could do it from command line:
    java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket myApp.jar (myApp.jar is on a remote host)
    while all that I'm able to do is
    java myApp.jarOf course I want to do it from my java code, not from command line.
    Thank you

    It isn't possible as stated.
    You must change the way that you are launching the VM. Either by providing options or by providing a different way to launch it.

Maybe you are looking for