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
vbevbejava 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.
MankalkajiHI 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)
thanxHI 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,
AnandGoogle
["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
JolyI 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. -
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 youIt 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
-
Brand new Mac customer-should I get Lion?
Hi everyone, I'm writing because I'm looking for support. I just recently bought my first iMac (it was between this or a Mini) after having my 4th PC die on me in 10 years. While I already have the machine ordered I have been doing extensive resear
-
Home Wireless Network (Netgear)
I just came home and a member of my family had hooked up a Netgear wireless router (that is supposed to be ok with mac os) to my cable modem and my old mac (os 10.2) is hardlined through ethernet into the new router. I have a new macbook pro and when
-
Did I brick my BB Q10? I updated with Sachesi to 10.2.2.932
Did I brick my BB Q10? I updated with Sachesi to 10.2.2.932. After reboot, I can not make or receive any calls and all I get is: "The 'cellular' phone line is not available. Choose a different phone line and try your call again" "different phone line
-
Use a Parameter or Formula in the Date() function
I am trying to filter a result set utilizing the Date() function. I am trying to get all of the data between June 1st of a given year, and a parameterized date. Here is the formula {ReportStatic.rpsActualSaleDate} >= Date({@fPrevioustoLastYear}, 7,
-
I can't download any in game content and when I try it tells me to come to this website... What do I do!?!