JVM heap size limit under Windows

Hi,
I'm looking either for some help with a workaround, or
confirmation that the information I've found is still the case for the
current state of Java.
Development machine is Win XP Pro, 2G RAM.
Biggest heap I can allocate is about 1.6G, and that is not large enough for this
app.
I have a Swing application that
1) must run on Win XP, 32 bit
2) must implement an editor (similar to Excel but with fewer features) to handle large csv files
( up to about 800Mb).
3) Strong preference for Java 5, though higher could conceivably be supported.
Research so far tells me that this is the result of process memory limitations
of Windows and the JVM, and that I might be able to squeeze a little more heap with
Windows' rebase command, but probably not enough and I would start running the
risk of conflicts with other applications on my users' systems. Ugh.
Also I read of the Windows /3GB switch, but posts say that the JDK's available are not
built to be able to use that feature. I havent had a chance to add memory to
test that yet. However, I'm also under the impression that I should be able to
allocate a heap larger than physical RAM ... except for that process size limit.
So ... my information is basically that I'm stuck with a limit of about 1.6G for
heap size, regardless of the RAM on my computer.
Can anyone confirm whether that is still correct, preferably with a pointer to some
official reference ?
Or better yet, point me toward a workaround?
Thanks!
-tom

>
Some bookmarks I have on this topic.
http://sinewalker.wordpress.com/2007/03/04/32-bit-windows-and-jvm-virtual-memory-limit/
http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp
The first link pulled together what I found in lots of bits and pieces elsewhere, nice to have a coherent summary :)
The second link offered a bit of insight into the jvm that I hadn't seen yet .
Thanks!

Similar Messages

  • How to increase JVM Heap Size

    Hi all,
    Our Environment
    ===============
    OS - Windows XP Service Pack 3
    Oracle Developer Suite - 10.1.2.3.0
    Oracle Forms & Reports Service 10.1.2.3.0
    Oracle Database 10.2.0.1.0
    JDK 1.5
    Jinitiator 1.3.1.30
    Apache POI 3.5
    From forms we are writing to excel files after copying XL template using Apache POI 3.5 and JDK 1.5. This XL template file has got lot of macros.
    We have imported the Java class files into form as pl/sql library. We are able to write upto 7Mb size of XL file. Beyond that size it comes with the error Ora-105101.
    We tried to increase the JVM Heap Size to 640M by setting values -Xmx640M everywhere in OC4J_BI_FORMS/Server Properties/Java Options, Home/Server Properties/Java Options through Enterprise Manager console. Also manually set the values in OPMN.XML and reloaded the same. Also set -Xmx640M in Jinitiator 1.3.1.30 Java Runtime Parameters. Also set in Java console. All settings have no effect.
    We have written a small program to display the run time memory from forms, which displays only maximum memory 63M all the time.
    PACKAGE BODY HeapSize IS
    -- DO NOT EDIT THIS FILE - it is machine generated!
    args JNI.ARGLIST;
    -- Constructor for signature ()V
    FUNCTION new RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    args := NULL;
    RETURN (JNI.NEW_OBJECT('HeapSize', '()V', args));
    END;
    -- Method: getTotalMemory ()D
    FUNCTION getTotalMemory(
    obj ORA_JAVA.JOBJECT) RETURN NUMBER IS
    BEGIN
    args := NULL;
    RETURN JNI.CALL_DOUBLE_METHOD(FALSE, obj, 'HeapSize', 'getTotalMemory', '()D', args);
    END;
    -- Method: getMaxMemory ()D
    FUNCTION getMaxMemory(
    obj ORA_JAVA.JOBJECT) RETURN NUMBER IS
    BEGIN
    args := NULL;
    RETURN JNI.CALL_DOUBLE_METHOD(FALSE, obj, 'HeapSize', 'getMaxMemory', '()D', args);
    END;
    BEGIN
    NULL;
    END;
    declare
    obj ORA_JAVA.JOBJECT;
    BEGIN
    obj:=HeapSize.new;
    message('Total memory '||HeapSize.getTotalMemory(obj));
    message('Max memory '||HeapSize.getMaxMemory(obj));
    END;
    Below procedure is for writing to Excel file.
    ============================================
    PACKAGE BODY UWWriteExcel IS
    -- DO NOT EDIT THIS FILE - it is machine generated!
    args JNI.ARGLIST;
    -- Constructor for signature ()V
    FUNCTION new RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    args := NULL;
    RETURN (JNI.NEW_OBJECT('UWWriteExcel', '()V', args));
    END;
    -- Method: copyExcel (Ljava/lang/String;Ljava/lang/String;)V
    PROCEDURE copyExcel(
    obj ORA_JAVA.JOBJECT,
    a0 VARCHAR2,
    a1 VARCHAR2) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(2);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.ADD_STRING_ARG(args, a1);
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'copyExcel', '(Ljava/lang/String;Ljava/lang/String;)V', args);
    END;
    -- Method: getSpreadSheetPara (Ljava/lang/String;)V
    PROCEDURE getSpreadSheetPara(
    obj ORA_JAVA.JOBJECT,
    a0 VARCHAR2) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'getSpreadSheetPara', '(Ljava/lang/String;)V', args);
    END;
    -- Method: openSheet (I)V
    PROCEDURE openSheet(
    obj ORA_JAVA.JOBJECT,
    a0 NUMBER) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_INT_ARG(args, a0);
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'openSheet', '(I)V', args);
    END;
    -- Method: getCellValues (IID)V
    PROCEDURE getCellValues(
    obj ORA_JAVA.JOBJECT,
    a0 NUMBER,
    a1 NUMBER,
    a2 NUMBER) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(3);
    JNI.ADD_INT_ARG(args, a0);
    JNI.ADD_INT_ARG(args, a1);
    JNI.ADD_DOUBLE_ARG(args, a2);
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'getCellValues', '(IID)V', args);
    END;
    -- Method: getCellValues (IILjava/lang/String;)V
    PROCEDURE getCellValues(
    obj ORA_JAVA.JOBJECT,
    a0 NUMBER,
    a1 NUMBER,
    a2 VARCHAR2) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(3);
    JNI.ADD_INT_ARG(args, a0);
    JNI.ADD_INT_ARG(args, a1);
    JNI.ADD_STRING_ARG(args, a2);
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'getCellValues', '(IILjava/lang/String;)V', args);
    END;
    -- Method: exportExcel ()V
    PROCEDURE exportExcel(
    obj ORA_JAVA.JOBJECT) IS
    BEGIN
    args := NULL;
    JNI.CALL_VOID_METHOD(FALSE, obj, 'UWWriteExcel', 'exportExcel', '()V', args);
    END;
    -- Method: copy (Ljava/lang/String;Ljava/lang/String;)V
    PROCEDURE copy(
    a0 VARCHAR2,
    a1 VARCHAR2) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(2);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.ADD_STRING_ARG(args, a1);
    JNI.CALL_VOID_METHOD(TRUE, NULL, 'UWWriteExcel', 'copy', '(Ljava/lang/String;Ljava/lang/String;)V', args);
    END;
    BEGIN
    NULL;
    END;
    declare
    obj ORA_JAVA.JOBJECT;
    BEGIN
    message('-1');pause;
    obj:=UWWriteExcel.new;
    message('0');pause;
    UWWriteExcel.copyExcel(obj,'C:\\excel\\CAT2009WS.XLS','C:\\excel\\CAT2009WS.XLS');
    message('1');pause;
    UWWriteExcel.openSheet(obj,0);
    message('2');pause;
    UWWriteExcel.getCellValues(obj,6,2,900);
    message('3');pause;
    UWWriteExcel.getCellValues(obj,7,2,911);
    message('4');pause;
    UWWriteExcel.exportExcel(obj);
    END;
    When the size of XL is more than 7Mb, after message(0) it will be display oracle error.
    From command prompt if we run the same java class file by passing -Xmx256m parameter we are able to write to big XL file.
    Can anyone tell me where I am wrong... Can we increase the JVM Heap Size from forms...

    I have a simular problem.
    Via Forms I call a Java class (import Java class -> PL/SQL class java method).
    For this specific process I need to set the Xmx java option...
    How do I do this ?
    Changing the java option for the Forms-OC4J in the EM doesn't help.
    Is there an other level where I can modify this ?
    Does the java process of the forms is the single process that exists ? How does he handles such java calls?
    Are that separed java processes ? threads ? ....
    Thanks !!!

  • How to get jvm heap size?

    Hi All,
    I would like to get the jvm heap size.
    by which method to get jvm heap size?
    Where it can be executed?
    Thanks,

    You can get this:
    http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#freeMemory()

  • Change your JVM heap size

    Can you please let me know how to increase the JVM Heap Size -- on linux fedora 6.0.
    Thank you,

    See -Xmx
    http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html

  • Forms Server JVM Heap Size

    Hi,
    Is it possible to change the java importer JVM Heap size on the Forms server in 9iR2?
    Currently, I get a java.lang.OutOfMemory exception when trying to run some imported Java on the server through my form.
    Thanks in advance,
    Ian

    We are looking into adding the ability to specify the heap size of the JVM when you use the Java Importer. It can't be done right now.
    Regards,
    Robin Zimmermann
    Forms Product Management

  • Does Solaris10 for x86 allow me to set java jvm heap size up to 3G

    Does Solaris10 for x86 allow me to set java jvm heap size up to 3G,is it really true solaris only take 512M memory address space?I can only set 2668M(2.5G)on linux cause linux kernel take 1G memory address space.Thanks~~

    [url http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html]Runtime seems to have some useful methods...

  • Safely reducing JVM heap sizes

    I have just started to rewrite a physics multi-particle simulation program in Java. The program is supposed to have a light, essentially constant memory footprint throughout the execution of the simulation. While I am aware of that switching from legacy procedural code to a clean OO design will cause a very significant increase in memory consumption (let alone any language implementation issues) it was a bit jarring to see the process running my first working prototype consumed ~64MB while serializing the simulation framework object (which contains references to everything else in the program) results in a 115KB file. I asked Google for help and it told me about the -Xmx switch which sets the maximum heap size reserved by the JVM. A very brief test indicates it can really help, as -Xmx16m brought memory uptake to a much saner ~18MB. However, I have a few concerns about this kind of tuning; namely, stability over long execution times (I mean several days potentially), performance issues due to garbage collection problems and the need to accommodate for the growth of the program (as it is only a very basic prototype right now). So I would like to ask for advice on good practices and, eventually, useful tools (profilers, etc.) to identify potential problems. Thanks in advance!
    P.S.: If any of you is thinking "just use C++, then!", that's my ultimate goal. But before that I need to become more fluent in that language in order to avoid unnecessary suffering with memory leaks and the like. I believe porting to C++ later on will be a lot easier if have the design done in Java, and having a functional program with decent performance in the meantime would help a lot. Furthermore, I like Java, and it would be nice to see it doing scientific computing :-)

    @paulcw: Thanks for the useful advice, I will definitely consider these options. Right now, my main problem is that I'm a very inexperienced programmer, and Java is the language I feel more able to produce a solid design with. On the other hand now I have another reason to have a good look at Python... about the C++ issue, I think I will have to do the switch at some point; not necessarily due to performance issues but also because I would like to be able to run the program in systems in which I won't have the luxury of, say, a JVM available. But you're probably right in that I should start porting while the program is still small and simple, even if I need to learn a lot of C++ skills in the process...
    sjasja wrote:
    While I am aware of that switching from legacy procedural code to a clean OO design will cause a very significant increase in memory consumptionI'm not sure there is such a rule. An int is 32 bits in C and in Java. A pointer is 32 bits in both (or 64 on a 64-bit system). A Java object has an object header (Sun JVM: 8 bytes on a 32-bit system), when you malloc() a struct in C it typically has 4 or 8 bytes of malloc header; ditto for new in C++.
    It is possible to be wasteful of memory in any language or any programming style. Just don't do that then.
    Indeed. It is shocking how much prejudice people have about such issues, as I demonstrated in my post. In fact, I found that my first Java build ran remarkably fast considering I feared at first that it would be maybe one order of magnitude slower than our legacy code. (By the way, said legacy code is not aggressively optimized. There are some very fast packages available for the calculations we run, but more often than not we prefer sticking to our "amateur" in-house developed tools for simplicity of operation and for having full control on what the program does, or which features we might want to add. The problem is that such an approach does not work well when you spend half your productive time fighting with messy FORTRAN code)
    my first working prototype consumed ~64MBHow do you determine that?
    Tools like top on Unix or task manager on Windows are not reliable measures of memory use. Take this C program:
    main() { sleep(60); }According to Windows Task Manager that takes 1.2 megabytes of memory to execute. In reality it doesn't: most of that memory is the C runtime dll that is mapped into memory. Most of the runtime is never touched by the program; most of it is never brought from disk to RAM. But because it is mapped into memory, ready to be used, Task Manager reports it. Even if the library is used, several processes share the same memory mapped copy; memory use as reported by simple tools can far exceed available memory, as the same libraries are counted again and again for many processes.
    You get a similar effect with the Java runtime. There are lots of stuff in there, like graphics libraries, networking, etc etc that is in the runtime dll and jars. Those are memory mapped but never touched; and tools that report memory usage are likely to mislead the careless observer.Newbie question: what would be a good way, then, to monitor actual RAM consumption - either using Java features or Linux commands?

  • JVM Heap size Vs Heap Used

    I will begin my question with an example.
    I have an app. with 18MB heap used & 31 MB Heap Size. With stress testing the heap used occasionally goes to 19 MB. But if it goes the heap size increases by 1 MB to 19MB. The moment the job is done, the heap used comes back to 18MB but not the total heap size.
    My guess (???) is that, once the heap size increases, there is no way with the jvm to get is shrunk.
    Am I right ?
    Cheers
    Venkat

    Modern jvms may return memory. But they are normally reluctant to do so.
    You can not force the jvm to shrink, the jvm decides when it does so.
    /robo

  • JVM Heap size settings

    I am unbale to find the JVM heap settings.Could you please me where the heap size was defined?

    886340 wrote:
    With reference to Java WebStart.
    sigh
    - I open google
    - I type in "java webstart set heap". Click search
    - first hit: the webstart faq
    http://download.oracle.com/javase/1,5.0/docs/guide/javaws/developersguide/faq.html
    - I search for "heap" using the browser search function
    - I feel superior for finding the answer that quickly and easily
    It makes me sad when people don't want to help themselves to live an easier and more rewarding development life. All it takes is the will to learn how to find information yourself :(

  • Increase JVM heap size when calling it from C++

    I have a program that loads images and only works properly increasing heap.
    java McVImg
    gives me an Out of memory error.
    java -Xmx120M McVImg
    works fine.
    If I want to call JVM from a C++ program using Java native interface,
    How should I increase JVM heap ?
    Thanks in advance. Ignasi Villagrasa.

    I'm trying to do what you told me and it doesn't work.
    I show the C++ code I'm using:
    void JavaParam::LoadJVM()
         JavaVMInitArgs vm_args;
         JavaVMOption options[2];
    jint res;
         vm_args.version = JNI_VERSION_1_2;
    JNI_GetDefaultJavaVMInitArgs(&vm_args);
         if (res < 0)
    fprintf(stderr, " Requested version is not supported\n");
              fputs ("Requested version is not supported\n",traza);
              fflush(traza);
    exit(-1);
         //Establecemos classpath
         //Atencion el classpath ser� el jar
         //options[0].optionString = "-Djava.class.path=..";
         options[0].optionString = "-Djava.class.path=..\\mcjava.jar";
         options[1].optionString = "-Xmx120M";
         //Nuevos argumentos
    vm_args.options=options;
         vm_args.nOptions = 2;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         //Creamos Maquina Virtual Java
    res = JNI_CreateJavaVM(&jvm,(void **)&env,&vm_args);
    if (res < 0)
    fprintf(stderr, "Can't create Java VM: %d\n",(int)res);
              fprintf(traza, "Can't create Java VM RES: %d \n",(int)res);
              fflush(traza);
    exit(1);
         jvm_creada = 1;
    Is that right ?
    Thanks in advance. Ignasi Villagrasa.

  • Large JVM heap sizes under windows xp?

    I have a windows XP Pro SP1 box with 2 GB of physical RAM. I am using the latest jdk, 1.4.2_05.
    I understand that 32 bit windows by default allows 2 GB address space for each application, permanently reserving 2 GB for the OS. (There are also apparently special builds going back to win2k which have a special mode where applications can address 3 GB and the OS addresses 1 GB; if anyone knows how to turn this mode on under win xp please let me know.)
    So, I should be able to allocate ~2 GB to the JVM (the number is slightly less than 2 GB due to overhead associated with each process in windows) using something like
         -Xms1900m -Xmx1900m
    as command line args to the java command.
    But when I try the above it crashes with the error
         Error occurred during initialization of VM
         Could not reserve enough space for object heap
    Experimentally, I found that the maximum value which works on my box is
         -Xms1200m -Xmx1200m
    which seems way smaller than it ought to be.
    Doing a forum search, I found others who report similar issues, e.g.
         http://forum.java.sun.com/thread.jsp?forum=136&thread=522506
    But I did not find a decent solution or up to date discusssion.
    Does anyone know with windows xp pro what the jvm memory limit is?
    As part of my sun search, I came across the following old (circa 2000) but interesting bug report:
         http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4358809
    I have never heard of the rebase program before. Is it built into windows? Is it safe to use? Anyone ever try the command as described there?

    In addition to this forum posting, I got in email communication with Peter Kessler, the technical lead for the garbage collector in the HotSpot(TM) virtual machine). Below are snippets from some of his emails to me.
    #1:
    I haven't tried pushing Windohs XP to see how big I could get the
    heap. I'm pretty sure you don't want to get try to get it to 1.9GB,
    since that wouldn't leave much room for DLL's, JVM data structures
    outside the heap, thread stacks, I/O buffers, etc.
    I don't know what the library C:\WINDOWS\System32\LPK.DLL is, or if
    you could successfully rebase it closer to 0x76000000. The issue
    with rebasing DLL's is that people have sometimes given thought to
    where they should be, given other libraries they are typically used
    with. (If a DLL can't be loaded at its default base address, it
    gets relocated dynamically. That slows down program startup; and
    often means that the library can't be shared with other applications
    running on the same machine, increasing your need for swap file
    space.)
    It does seem weird that we would make the default base for jvm.dll
    be 0x08000000, but the base of hpi.dll at 0x10000000. [See email #3 below]
    The jvm.dll isn't going to get that much larger any time soon. I'll ask around
    about that one. (The library bases for JDK-1.4.2 are different
    from those reported in bug id 4358809 for because we periodically
    reconsider where to base the libraries, given the other libraries
    on a particular release of Windohs.)
    So, I don't have any great advice on how to squeeze another 400MB of
    heap out of your machine. I suppose it's fruitless to ask if you
    could squeeze 400MB of data structures out of your application?
    Have you run an allocation profiler on it?
    Since you are willing to switch operating systems, you can download
    a copy of Solaris 10 for x86 platforms (for free) from
    http://wwws.sun.com/software/solaris/10/
    I just tried a Solaris 10 x86 box, and could get a -Xmx2900m jvm to
    start. But without your application it's hard to know if it would
    run well with that size heap (e.g., if it would have room for thread
    stacks, file buffers, etc.), so your milage may vary, but 2.9GB is
    larger than you say you need. There are lots of other benefits of
    running Solaris. I don't know about making you a poster child, but
    I could ask about that, too.
    #2:
    I'm told that some of the popular distibutions of Linux ship with
    a "4GB" kernel, which allows one to get 3GB (2.4 kernels?) or almost
    4GB (2.6 kernels?) of address space for user processes. I haven't
    used those kernels myself. Among the reasons the 4GB kernel isn't
    the standard kernel is that some user programs are surprised (in a
    bad way) by finding their code or data in the "negative" part of
    the address space, or crossing the "sign-bit" boundary. (Of course,
    all addressing arithmetic should be done as unsigned quantities!)
    Our Java virtual machine shouldn't have those problems, so that
    kernel might work for you.
    #3:
    Ah. It looks like in JDK-1.4.2 (and earlier) we forgot to
    explicitly set the base for hpi.dll, so it got the default
    base of 0x10000000. (Don't we love learning these details
    about Windohs?) As I said, we periodically reconsider the
    bases for the libraries. We seem to have done that, more
    thoroughly, for JDK-1.5.0:
    Base Size Version Path
    0x00400000 0xc000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\bin\java.EXE
    0x77f80000 0x7d000 5.00.2195.6899 C:\WINNT\system32\ntdll.dll
    0x7c2d0000 0x62000 5.00.2195.6876 C:\WINNT\system32\ADVAPI32.dll
    0x7c570000 0xb8000 5.00.2195.6897 C:\WINNT\system32\KERNEL32.DLL
    0x77d30000 0x71000 5.00.2195.6904 C:\WINNT\system32\RPCRT4.DLL
    0x78000000 0x45000 6.01.9844.0000 C:\WINNT\system32\MSVCRT.dll
    0x6d6b0000 0x185000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\jre\bin\client\jvm.dll
    0x77e10000 0x65000 5.00.2195.6897 C:\WINNT\system32\USER32.dll
    0x77f40000 0x3e000 5.00.2195.6898 C:\WINNT\system32\GDI32.DLL
    0x77570000 0x30000 5.00.2161.0001 C:\WINNT\system32\WINMM.dll
    0x6d2f0000 0x8000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\jre\bin\hpi.dll
    0x690a0000 0xb000 5.00.2134.0001 C:\WINNT\system32\PSAPI.DLL
    0x6d680000 0xc000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\jre\bin\verify.dll
    0x6d370000 0x1d000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\jre\bin\java.dll
    0x6d6a0000 0xf000 1.05.0000.0000 C:\pbk\deployed\JDK-1.5.0\jre\bin\zip.dll
    You might want to try the "release candidate" (i.e., what we
    hope will be the final bits) of JDK-1.5.0 from
    http://java.sun.com/j2se/1.5.0/download.jsp
    and see if it helps.

  • Jvm heap size

    This is strictly speaking not a p13n issue, but I'm sure you'll be able
    to help.
    I start weblogic server with the following commands "-Xms64M -Xmx64M".
    Checking in my windows task manager, I notice that java.exe is take
    170Mb of physical ram, and 180Mb of virtual ram. I want to limit
    weblogic to 64Megs. Why is my command not working properly?
    you're help is sorely needed and greatly appreciated,
    dk-

    Skip,
    this is my full environ -
    wlcs3.5
    I start wlcs3.5, with OptimizeIT.
    In article <3af9a351$[email protected]>, [email protected] says...
    Hi Denis,
    Where are you setting these values and how are you starting the
    server? The JVM should be obeying these parameters. You will
    see it use more than 64M as there is the overhead of the JVM
    executable itself. I think that this ranges from 8M or so on NT
    to 16M or so on UNIX systems.
    Cheers,
    Skip
    "denis krizanovic" <[email protected]> wrote in message
    news:[email protected]..
    This is strictly speaking not a p13n issue, but I'm sure you'll be able
    to help.
    I start weblogic server with the following commands "-Xms64M -Xmx64M".
    Checking in my windows task manager, I notice that java.exe is take
    170Mb of physical ram, and 180Mb of virtual ram. I want to limit
    weblogic to 64Megs. Why is my command not working properly?
    you're help is sorely needed and greatly appreciated,
    dk-

  • JVM heap size and performance

    We are kind of struggling with the good old "out of memory"
    issue of JVM while running our app on oracle 9i j2ee container
    (Solaris 2.6). I do not see much discussion about this
    particular problem in this forum. We are playing with heap
    allocation, garbage collector, max num of instances etc to
    overcome this out of memory issue. If you are running or about
    to run OC4J in a production environment please let me now what
    measures and settings are you using to tune the JVM.

    We start with 128m, and use 512m for the maximum, and have no
    troubles. That is:
    java -jar -Xms128m -Xmx512m orion.jar
    This is on linux. There are memory leaks with varous jdbc
    drivers, postgresql for example.
    Also, if you do not put a maximum on your instances of entity
    beans, they will just pile up. You can adjust this in the orion-
    ejb-jar.xml file. The bean problem occurs if you have not
    normalized your bean mapping for performance.
    regards,
    the elephantwalker
    www.elephantwalker.com

  • Optimum Max JVM Heap Size Question

    I saw Ken running around, so I figured this would be a good
    time to post.
    I am running CF 6.1, Windows 2003 Server, IIS 6.0, SQL2003;
    all are on the same machine.
    This machine is a web-server that runs this particular
    ColdFusion application ONLY. Nothing else.
    I have looked through a decent amount (although I'm sure not
    all) of the white papers on this setting. I have left it at 512MB,
    but since I have 2GB on the server, I thought about increasing it,
    but didn't know how much CF would really use, if it would increase
    garbage collection times, etc.
    So once my brain finally said "I don't know", I thought I'd
    post on it.
    Thanks,
    Mike

    Yeah, I gathered it was an art.
    Stability/performance has been a minor factor - the SQL
    database referenced by the datasource is on the same box, and I
    still get the occassional "datasource went by-by" (i.e. - timeout
    on dsn) error. It seems to occur during peak load times (peak query
    load, that is). Disk activity goes pretty high at those times, as
    well.
    I was kind of going with the "better from memory than from
    disk" idea, but didn't know if this was a dance with other settings
    (i.e. - max queries, etc.).
    Sounds like it is - so I will start (gently) changing a few
    parameters to see if I can get those DSN lost errors to be
    extremely infrequent.
    I really appreciate the reply.
    - Mike

  • How do I increase the JVM heap size

    How do I increase the Java heap space
    i've used java -Xms32m -Xmx256m
    but it just keeps outputing the usage: java [-opetions] class [args...]
    -client
    -server
    -hotspot
    -cp
    -classpath

    htats wrote:
    How do I increase the Java heap space
    i've used java -Xms32m -Xmx256m
    but it just keeps outputing the usage: java [-options] class [args...]Did you give it a class to run?

Maybe you are looking for

  • HP Laserjet P3005n - 1.5 months out of warranty :-( tiny piece broken

    Dear, At the end of the black bar (see red circle for exact location) a tiny piece (looks like a key) is broken off from this bar at the end. The piece looks like a "key" that goes into the spin wheel (see green circle). Each time a print job is sent

  • Problem with linking PDF documents using named destinations

    Linking from one PDF document to another PDF document using named destinations viewed in Reader works great but once the documents are viewed inside a browser environment the link will only open the go to document and will not go to the named destina

  • Hooking mac mini to iMac

    Can I use my Mac mini as a disk for my iMac?  If so, how would I go about it?

  • Convert a PREL project to a FCP project

    Hi All, I'm looking at opening up a Adobe Premiere Elements project file on Final Cut Express and wanted to know if there's a converter so Final Cut can interpret a prel file? Thanks in advance!

  • Migrating from Maildir to OSX server mail

    Hi, I have a Linux machine running Qmail (smtp, pop), Courier (imap) and Squirrelmail. About 20 users on the machine. Most users use webmail only. The users are all 'virtual' users, under vpopmail. This machine uses Maildir for mail storage. I want t