Solaris JVM question

Hi,
I am a newbie on Solaris and have found that there is a significant degredation in performance when my java application is run on a Solaris JVM as opposed to a Windows JVM.
I'm running with the -server option which has helped, but was wondering if there is some other tuning that I could do in order to make the HotSpot JVM as fast as possible.
Thanks,
Tom

Check your JVM settings, they make a lot of difference to the performance. It also depends on the load you have on the system. Windows does not do as well when compared with Sun when there is a high load.

Similar Messages

  • A small conglomerate of E450/Solaris 10 Questions!

    To whom it shall concern or can just help out:
    Solaris 10 Questions
    If I wish to run an iSCSI target under Solaris 10, will GA do it or do I need the Express verison of Solaris 10 (for an E450, SPARC)?
    If the GA version of Solaris 10 supports iSCSI targets, how capable is it to socialize that with ZFS in combination?
    Can Solaris 10 (for SPARC) support any IDE PCI cards on the E450?
    Can Solaris 10 (for SPARC) support any USB PCI cards on the E450?
    Can Solaris 10 (for SPARC) support any FireWire (1394) PCI cards on the E450?
    Other than Solaris Express being more experimental than the GA version, how problematic is it to run Express vice the GA in terms of daily reliability?
    Taking a presumptive position that Solaris 10 Express or GA allows for an iSCSI target capability (with or without ZFS inclusive thereto) has anyone attempted to connect to such an alleged Solaris iSCSI target successfully from MacOS using this initiator:
    http://www.studionetworksolutions.com/products/product_detail.php?t=more&pi=11
    E450 Questions
    What DVD drives are support on the SCSI bus for an E450 to boot from for the purposes of asserting a DVD based Solaris 10 installation?
    I am also looking for any of the following hardware (if you have it at a good price, do contact me offline at 310-358-0202, or [email protected]):
    (a) DVD Drives
    (b) Backplane hardware and cables requisite to increase the amount of DASD that can be installed in an E450 from 4 to 12 or 20
    (c) RAM
    (d) Processors
    (e) Multi-port Ethernet cards
    Thanks in advance!
    Stuart

    I have been running solaris 10 on an e450 for ages
    and it works fine. I slid the drive out of a
    Blade1000 to load the DVD.
    Which version (specifically) of Solaris 10 are you running?
    GA?
    Express?
    Which month/year release?
    Regarding the DVD:
    An interesting solution, though I do not have a Blade1000 handy, so I will continue to look for a compatible DVD player I can use within the e450 for an inexpensive price, unless you are suggesting that a Blade1000 with a DVD is cheaper than a DVD for the e450. Are you suggesting such?
    HCL lists are available for the e450.Perhaps you can suggest where I might find them sir?
    That truly would be helpful, as I had presumed already that such lists were existent.
    >
    The backplane can be bought cheap to expand the drive
    number.Still investigating the part number, but yes, I'd imagine so. Do you perhaps know the part numer for this item sir?
    >
    Not sure about any of the iscsi stuff.Too bad, that was an important part of the information I was looking for.
    >
    Ebay ebay ebay for e450 gear. Once I know the part numbers, ebay will be a great tool for finding the hardware, I agree.
    >
    On another note, the e450 is a beast weighting in
    around 300 pounds fully loaded. Sucks up more power
    than NY city on a hot day and can heat a fairly large
    building. Not to mention they sound like small
    airplanes.
    I live in Vegas, electricity is burned out here in outrageous amounts on a daily basis.
    Indeed, I am presuming that when they (I have two) are running during the winter, that I will be able to heat my 1895 sq foot house (or at least one deck of it).
    I know they are one of the most interesting computer
    designs out there but unless you a glutten for slow
    processors max 480 mhz I would suggest you buy
    something a bit newer. One ultra45 would be better
    and hold more drive space and ram.
    Years in the computer industry and I will never understand why, when people ask technical questions others feel they are helping to say "replace your hardware", when indeed it is not broken and they are attempting to use it. I have to admit, you are not the first to do such a thing.
    I understand you think there is something better, and honestly, I certainly am not inept enough to have not considered that, yet still I posted the query in the instant post asking about the e450.
    Consider this: perhaps I was interested in using the e450 and getting the questions answered...nah...why would I want to do that?
    If you do like the old hardware and redundancy is not
    critical I would suggest getting a blade2000 off of
    ebay for around 600 dollars. Still big and beautiful
    but far far faster. I use a Blade1000 (wont die) and
    have firewire drives plugged into it for more space.And what suggestion would you proffer if the $600 budget is not there?
    Using the e450 perhaps? :)
    Stuart

  • File comparaison works on win32 JVM, not on 64bit solaris JVM

    Hi all!
    I have the following code comparing 2 files. It works on win2000 but doesnt work on unix solaris. (same JVM version)
    win32 JVM is 32 bit, solaris JVM 64 bit
    private boolean fichierIdentiqueBytePourByte( InputStream in1, InputStream in2 ) throws IOException{
              int a = 0, b = 0;
              while(true){
                // read next byte from both stream
                a = in1.read();
                b = in2.read();
                // if its different then files are different and we are done
                if (a!=b) return false;
                // if both are at eof then all checked must be the same
                if (a==-1&&b==-1) return true;
                // if either are at eof then they are different sizes
                if (a==-1||b==-1) return false;
         }any ideas of what the problem might be?
    Thanks

    Presumably when you say it didn't work you mean that in one case it returned true and in the other it returned false.
    If something else then you need to explain what it is.
    Naturally one obvious source of the problem is that in fact the files are not the same on the 64 bit machine. For example they were transferred using ftp and one was transferred using ftp text and other via ftp binary. Then the lengths would be different.
    Another possibility is that you are not running the code that you think you are.
    If the files are very large then it is possible there is some difference there.

  • Tomcat 3.1 on Solaris 8 question

    I would like to use the above product as my JSP container.
    I am running into a problem when it comes to "mod_jserv.so".
    I can get this to work all day under Linux. Now that I have
    moved my application to a Solaris 8 machine, I can't get my
    apache web server to properly load the mod_jserv.so library.
    My question is, is there a mod_jserv.so for Solaris? I can't
    seem to find any answers on jakarta.apache.org.
    Thank you.

    Actually, if you read further and see the large table with the performance comparisons using the different threading options on machines with different CPUs/configurations, it says:
    "Here's a table of results on various Solaris boxes, all running Solaris 8 with JVM 1.3.1: "
    So it looks like it should work fine with 1.3.1.
    - Chris

  • Domain Name settings in Solaris - Newbie question

    Sorry for a newbie question!
    I am already pointing a domain name to web hosting for email account. Now, I need an application server to run ERP software and Oracle, and installing Solaris and Oracle need a domain name.
    If I point my domain name to the server, how do I receive emails from web hosting???
    Install an email server to the application server instead? What can I do if I want the same domain name?

    Your questions are completely off-topic for the forum.
    These SunOS forums are for questions on <i>"how do I install my OS"</i>
    You particular question is in the <i>"how can I install Solaris while using the CD drive"</i> forum.
    So, if you had a question on how to edit the /etc/inet/hosts file to establish a FQDN on the computer, then it might be appropriate for the forum.
    Unfortunately, I don't have a clue on where to redirect you, except perhaps to the Sun Java Enterprise System suite of applications?

  • Solaris/JVM/JNI crashes

    Hello,
    I am experiencing periodic crashes in an application while using Solaris 2.8 and JVM 1.3.0. The application is invoking multi-threaded java code from C++ and the conflict causing the crashes seems to be in how the threads are being handled. Is anybody aware of problems using Solaris 2.8 with JVM 1.3 for this purpose?
    Thanks.

    By the way that presumes that your JNI code is actually robust (either long time use or extensive testin/profiling) to rule out a problem with it. If not then the problem is probably with the JNI code and has nothing to do with java.

  • Solaris JVM Process Growth

    Hi,
    I am investigating a problem where we experience continual growth of our JVM process. The overall process size and native heap size of the JVM process continually grow at the same rate. I am monitoring these using the commands 'ps - o pid,vsz,rss' and 'pmap -x' respectively. The increases are in multiples of 8Kb.
    I have checked our java application using Optimizeit and it is not leaking memory. I have also monitored the size of the VM java heap using the '-verbose:gc' garbage collection debugging option. Garbage collection appears normal and the VM heap size remains below that specified by the '-Xmx' option.
    It appears that the memory growth is occurring in native code of the JVM process but I am at a loss on how to determine what is causing this. Can anyone advise me what may be causing this JVM process growth or ways in which I may be able to find this out?
    I am using JRE 1.4.2 SE (1.4.2_08_b03) on Solaris 8. Within the JVM we are running our web app in Tomcat 4.1.
    The shared libraries loaded by the JVM (as shown by pldd) are:
    /usr/lib/libthread.so.1
    /usr/lib/libdl.so.1
    /usr/lib/libc.so.1
    /usr/platform/sun4u/lib/libc_psr.so.1
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/client/libjvm.so
    /usr/lib/libCrun.so.1
    /usr/lib/libsocket.so.1
    /usr/lib/libnsl.so.1
    /usr/lib/libm.so.1
    /usr/lib/libsched.so.1
    /usr/lib/libmp.so.2
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/native_threads/libhpi.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libverify.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libjava.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libzip.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libjdwp.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libdt_socket.so
    /usr/lib/nss_files.so.1
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libnet.so
    /vob/ntg-thirdparty/tibco/rv-7.1/sol28/lib/libtibrvj.so
    /vob/ntg-thirdparty/tibco/rv-7.1/sol28/lib/libtibrvcmq.so
    /vob/ntg-thirdparty/tibco/rv-7.1/sol28/lib/libtibrvcm.so
    /vob/ntg-thirdparty/tibco/rv-7.1/sol28/lib/libtibrvft.so
    /vob/ntg-thirdparty/tibco/rv-7.1/sol28/lib/libtibrv.so
    /usr/lib/libpthread.so.1
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libnio.so
    /usr/lib/librt.so.1
    /usr/lib/libaio.so.1
    /usr/lib/libsendfile.so.1
    /vob/ntg/dev/resources/lib/sol8gcc/libjavaperljni.so
    /vob/ntg/dev/thirdparty/perl-5.8.0-gcc-thread/lib/libperl.so
    /usr/lib/libw.so.1
    /vob/ntg/dev/resources/lib/sol8gcc/libstdc++.so.2.10.0
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libioser12.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libawt.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libmlib_image.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/headless/libmawt.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libcmm.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libfontmanager.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libdcpr.so
    /vob/ntg-thirdparty/java/j2sdk1.4.2_08/jre/lib/sparc/libjpeg.so
    Any Help is much appreciated.

    Hi
    If u can, use 1.4.2_10 (latest as of now). There is a bug 6250517, fixed in _09. Not sure if u r making any calls to NetworkInterface.getNetworkInterfaces.
    Also noticed that you are using tibco. How about putting -Xcheck:jni and see if it picks up anything.
    Unfortunately Solaris 8 didnt have libumem for tracking memory allocation. If u have any Solaris 9/10 boxes, you can use libumem to track it down.
    http://access1.sun.com/techarticles/libumem.html

  • Segmentation Fault on Solaris JVM

    Hi,
    We have a Java application that executes all 'C' code through JNI code.
    It works fine on NT but on solaris, the JVM suddenly crashes with a
    segmentation fault. The crashes are random. We did a lot of debugging to ensure that the JVM doesn't crash when we are in the 'C' code.
    We are using jdk1.4.0-b92. Any ideas?
    Here's the stack trace from gdb:
    Program received signal SIGSEGV, Segmentation fault.
    0xfa535000 in ?? ()
    (gdb) bt
    #0 0xfa535000 in ?? ()
    #1 0xfa53908c in ?? ()
    #2 0xfa538f50 in ?? ()
    #3 0xfa534480 in ?? ()
    #4 0xfa52d560 in ?? ()
    #5 0xfa405c54 in ?? ()
    #6 0xfa405b88 in ?? ()
    #7 0xfa405da8 in ?? ()
    #8 0xfa405da8 in ?? ()
    #9 0xfa405da8 in ?? ()
    #10 0xfa400440 in ?? ()
    #11 0xfe0fd9ac in __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ ()
    #12 0xfe10f644 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ ()
    #13 0xfe10f4a4 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ ()
    #14 0xfe10f42c in __1cMthread_entry6FpnKJavaThread_pnGThread__v_ ()
    #15 0xfe10f13c in __1cKJavaThreadDrun6M_v_ ()
    #16 0xfe0fc284 in _start ()

    I had same segmentation fault and found out some char array variable's value length is over the size of char array variable. After fixed it, then it doesn't have that segmentation fault.
    In Solaris, when I use java JFileChooser to select a file, the file path usually including a lot of "../" which causes a path over 200 char long. When I assigned that path to a char array variable which only have 200 char length, the segmentation fault happened.

  • Urgent: Solaris newbie question: group permissions etc

    Hi
    I have a question on what is the best practice of working with solaris users and permissions. I'm using Solaris 10 and have created several users each with their home directory in /export/home. Then i have installed the sun webserver under /export/home/sun/webserver and i want all users to be able to use this, execute or copy over to the webserver.. would this be a valid solution or good practice solution tht i crete a group give it the permissions to read/write/execute and all the users i want to give this privilege to will be under this group. but then whats the use of having root like how would root user be different from the rest now...
    thanks...

    If you just want them to be able to publish to the web, apache has a little built in script in the httpd.conf that will hook in a user directory. Read the /etc/apache/httpd.conf file for more info.
    Whether this is best practice I am not sure. What you suggest will work but I would avoid it.

  • Solaris JVM Version

    How do I verify which JVM version is running on a Solaris 7 box?
    Thanks

    Hello,
    that's quite simple. If you configured properly the path
    where the virtual machine was installed to
    just type the following command in a console:
    java -version
    Otherwise you have to search for a directory like
    java/jdk1.2.2/bin/
    or
    ..jdk1.3/bin
    etc.
    and to execute there the preceding command.
    Marc

  • Solaris Installation question (from sun course)

    Hello, I am just learning about solaris from the course WS-2001-S10. I hope this kind of question is fit for this forum...otherwise please direct me to where I can ask about it.
    There is a review question at the end of the installation module like this:
    Which Solaris 10 OS installation methods are available to perform a standard upgrade?
         Solaris suninstall and Custom Jumpstart
         [x]Solaris suninstall, Solaris Web Start, and Custom Jumpstart
         Solaris Web Start and Custom Jumpstart
    Feedback:
         Correct.
    The correct answer is 2 but i don't really get it why. In the course they say nothing about Web Start and from what i have read Web Start is just a Web-Based Jump Start installation.
    In the course SUN says that "The methods available for a standard upgrade are Solaris GUI installation, the CLI installation, and the custom JumpStart procedure. "
    So "suninstall, Solaris Web Start, and Custom Jumpstart" from the answer equals "Solaris GUI installation, the CLI installation, and the custom JumpStart procedure" from course...
    Also from what I understood the jumpstart installation is also CLI ...(totally confused now)
    Can someone shed some light on this please?
    Edited by: realthor on Feb 1, 2010 2:18 PM

    Installation Guide
    [http://docs.sun.com/app/docs/doc/806-5205]
    suninstall = CLI
    Web Start = GUI (or CLI)
    Custom JumpStart = CLI

  • Jvm question

    Hi. Let's say I have two computers, "apple" and "orange". They are both running the same java program called "synchronize", which is installed on both computers, and they communicate with eachother via RMI.
    synchronize has two classes called "ClassA", and "NetPackage"... NetPackage is the object which is passed around on the net via RMI. NetPackage has a method called "getVersion", which has as method body "return ClassA.getVersion()", essentially a link.
    If "apple" is calling NetPackage.getVersion(), then I know that I will get the version as defined in apple's jvm. However, what happens if orange gets a NetPackage from apples jvm, and from within orange's jvm we ask that remote NetPackage to getVersion(). Can I assume that this call gets sent back through the remote object to apple's jvm, which returns the version as defined in apples jvm, or does the remote object, because it is now executing in oranges jvm, return the version as defined in oranges jvm?
    I hope I made my question clear enough, but I don't know any other way of describing my problem.
    Thanks in advance for your help.

    "...NetPackage is the object which is passed around on the net via RMI." is somewhat vague - because a cleint can retrieve either a copy of an object, or a reference to a remote object.
    This depends on how the object is defined: If it is derived from UnicastRemoteObject, then it is a remote reference; otherwise a copy must have been serialized .
    With respect to the "link":
    o For a Unicast remote object, the method invocation will cause a call on the remote objects method, which will in turn access the other remote object.
    o For a serialized object, the other object better be serializable too, in which case both objects should exist on the client computer.

  • Prgraming for Solaris - Basic Question

    Hi,
    I am very new to Unix and Solaris and have some questions I hope some one maybe able to help with.
    I was recently handed a new application which runs on a Unix server with Solaris OS 10 installed. I connected to the server remotely and have done some basic Unix Shell programing to help automate many of the functions.
    Here is my question. I want to create a GUI interface to allow uses to run some programs. I have some experience with Java and .NET programing. So I am familiar with object oriented programing. However I am somewhat lost in this new environment and need some guidance.
    My server has the latest java run time environment. Can I create a java app on my PC and move it to the unix server?
    Is C the only programing language for Solaris?
    Thanks in advance.
    Phil

    Phil,
    If you already have shell scripts for these "apps", then the easiest implementation is just to do it in CGI since all you need to do is reformat the output and just use HTML forms to take inputs from the user.
    However if you really wanted to, then you could rewrite your code for implementation in JSP. You could call it with something like :
    java.lang.Runtime rt = java.lang.Runtime.getRuntime();
    rt.getRuntime().exec("/home/user/HelloWorldApp.sh");Make sure that all the environment variables (e.g. PATH) are explicitly set in your shell script since the JSP forks the script with a different user ID which I think is "nobody" and so your script may either (a) run with unexpected results, or (b) appear to not run at all.
    Cheers,
    Erick Ramirez
    Melbourne, Australia

  • JVM questions

    Here are a few questions I need help with regarding 8i and App
    Server.
    1) What is the differences between the JVM in each product?
    2) What is the max socket connection for one JVM?
    3) What are some parameters for thread usage in a JVM? i.e.
    thread stack size, max threads per VM, are the thread native to
    Linux or green ?
    thanks, Jon
    null

    4. Whats the best way of stopping different versions of jre from being installed by admin users
    The most obvious way is the best. Give admin accounts only to those users who know what they are doing. That's not really a Java question.

  • De-installation of Solaris 10 Question

    How do you de-install Solaris 10?
    I installed it on my Dell Laptop last night that already had Windows XP. I was familiar with SuSe, so I did not think there would be any issues.
    But....
    1. I didn't get dual boot. It's Solaris 10 boot only.
    2. None of the hardware was recognized, so I can't get on the internet or anything.
    I am thinking that the best course of action is to remove Solaris. If anyone has the procedure for that, I would appreciate it. Also, if anyone has a fix for the two problems, I would appreciate it.
    Thanks!

    Most operating systems don't have an uninstall. You just install something else on top of it.
    What model laptop do you have? I thought most dell NICs were supported?
    There are several howtos out there for dual/triple boot machines with XP/Linux/Solaris on them.
    Darren

Maybe you are looking for