Using off jvm heap as memory area

Hi,
I am using Oracle Coherence 3.6.1 within Oracle CEP. I want to use Oracel Coherence out of the JVM so I want to use nio-memory-manager. My data size more than 10gb and I want to place this data into the memory. How can I perform this by using nio-memory-manager in coherence-cache-config.xml ?
Thanks.

I also agree that 10Gig is no big deal. Assuming you want at least two physical servers (to get redundancy!) and that you can hardly get a server with less than 4 cores & 16 gig RAM today (with new hardware 6 - 8 cores is common) you can run 4-6 nodes each with say 2-gig heap size each on each of the two server (remember that id the dataset is 10 gig you need to hold another 10 gig for backup data).
The real problem comes when you have like 500+ gig data and want to make use of say 6-8 core servers with 128 or 256 gig RAM - then the number of JVMs per server (if you want to keep the heap size down to say 2-3 gig) becomes much higher than your number of cores and processing is no longer performed in parallel...
In these situations you must today either accept the reduced performance from non-parallel execution, a higher cost (buy a larger number of physical servers and pay for more Coherence licenses) or look into using off-heap storage and/or avoid holding the complete dataset in memory (using a cache store / loader)...
There is however another message in this thread where Cameron reported positive experiences with really large heaps and CMS garbage collector so there may still be hope for holding very large datasets in an economical way if you are prepared to do some GC-tuning... :-)
/Magnus
Edited by: MagnusE on Feb 7, 2011 9:38 AM

Similar Messages

  • Can off JVM heap Memory used in the Near-Cache front-tier

    I had tried to config a near-Cache used nio-manager(off JVM heap) in the Front-tier.
    <near-scheme>
          <scheme-name>CohApp-near</scheme-name>
          <front-scheme>
            <external-scheme>
            </external-scheme>
          </front-scheme>
          <back-scheme>
            <distributed-scheme>
              <scheme-ref>CohApp-distributed</scheme-ref>
            </distributed-scheme>
          </back-scheme>
          <invalidation-strategy>auto</invalidation-strategy>
          <autostart>true</autostart>
        </near-scheme>
    when start 'com.tangosol.net.DefaultCacheServer' for this config, error as:
    Oracle Coherence Version 3.7.1.0 Build 27797
    Enterprise Edition: Development mode
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    2014-03-30 16:34:17.518/1.201 Oracle Coherence EE 3.7.1.0 <Error> (thread=main,
    member=n/a): Error org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invali
    d content was found starting with element 'external-scheme'. One of '{"http://xm
    lns.oracle.com/coherence/coherence-cache-config":local-scheme, "http://xmlns.ora
    cle.com/coherence/coherence-cache-config":class-scheme}' is expected. - line 92
    Exception in thread "main" (Wrapped: Failed to load the factory) (Wrapped: Missi
    ng or inaccessible constructor "com.tangosol.net.DefaultConfigurableCacheFactory
    (String)"
    <configurable-cache-factory-config>
      <class-name>com.tangosol.net.DefaultConfigurableCacheFactory</class-name>
      <init-params>
        <init-param>
          <param-type>java.lang.String</param-type>
          <param-value>coherence-cache-config.xml</param-value>
        </init-param>
      </init-params>
    </configurable-cache-factory-config>) java.lang.reflect.InvocationTargetExceptio
    n
            at com.tangosol.util.Base.ensureRuntimeException(Base.java:288)
            at com.tangosol.net.ScopedCacheFactoryBuilder.getDefaultFactory(ScopedCa
    cheFactoryBuilder.java:311)
            at com.tangosol.net.DefaultCacheFactoryBuilder.getSingletonFactory(Defau
    ltCacheFactoryBuilder.java:48)
            at com.tangosol.net.DefaultCacheFactoryBuilder.getFactory(DefaultCacheFa
    ctoryBuilder.java:121)
            at com.tangosol.net.ScopedCacheFactoryBuilder.getConfigurableCacheFactor
    y(ScopedCacheFactoryBuilder.java:112)
            at com.tangosol.net.CacheFactory.getConfigurableCacheFactory(CacheFactor
    y.java:126)
            at com.tangosol.net.DefaultCacheServer.getDefaultConfigurableCacheFactor
    y(DefaultCacheServer.java:364)
            at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:197)
    Caused by: (Wrapped: Missing or inaccessible constructor "com.tangosol.net.Defau
    ltConfigurableCacheFactory(String)"
    <configurable-cache-factory-config>
      <class-name>com.tangosol.net.DefaultConfigurableCacheFactory</class-name>
      <init-params>
        <init-param>
          <param-type>java.lang.String</param-type>
          <param-value>coherence-cache-config.xml</param-value>
        </init-param>
      </init-params>
    </configurable-cache-factory-config>) java.lang.reflect.InvocationTargetExceptio
    n
            at com.tangosol.util.Base.ensureRuntimeException(Base.java:288)
            at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2652)
            at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2536)
            at com.tangosol.net.ScopedCacheFactoryBuilder.getDefaultFactory(ScopedCa
    cheFactoryBuilder.java:273)
            ... 6 more
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
    orAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
    onstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at com.tangosol.util.ClassHelper.newInstance(ClassHelper.java:694)
            at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2611)
            ... 8 more
    Caused by: (Wrapped: Failed to load cache configuration: coherence-cache-config.
    xml) (Wrapped) java.io.IOException: Exception occurred during schema validation:
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'externa
    l-scheme'. One of '{"http://xmlns.oracle.com/coherence/coherence-cache-config":l
    ocal-scheme, "http://xmlns.oracle.com/coherence/coherence-cache-config":class-sc
    heme}' is expected.
            at com.tangosol.util.Base.ensureRuntimeException(Base.java:288)
            at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:34
    1)
            at com.tangosol.run.xml.XmlHelper.loadFileOrResource(XmlHelper.java:283)
            at com.tangosol.net.DefaultConfigurableCacheFactory.loadConfig(DefaultCo
    nfigurableCacheFactory.java:439)
            at com.tangosol.net.DefaultConfigurableCacheFactory.loadConfig(DefaultCo
    nfigurableCacheFactory.java:425)
            at com.tangosol.net.DefaultConfigurableCacheFactory.<init>(DefaultConfig
    urableCacheFactory.java:155)
            ... 14 more
    Caused by: (Wrapped) java.io.IOException: Exception occurred during schema valid
    ation:
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'externa
    l-scheme'. One of '{"http://xmlns.oracle.com/coherence/coherence-cache-config":l
    ocal-scheme, "http://xmlns.oracle.com/coherence/coherence-cache-config":class-sc
    heme}' is expected.
            at com.tangosol.run.xml.XmlHelper.loadXml(XmlHelper.java:122)
            at com.tangosol.run.xml.XmlHelper.loadXml(XmlHelper.java:157)
            at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:32
    2)
            ... 18 more
    Caused by: java.io.IOException: Exception occurred during schema validation:
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'externa
    l-scheme'. One of '{"http://xmlns.oracle.com/coherence/coherence-cache-config":l
    ocal-scheme, "http://xmlns.oracle.com/coherence/coherence-cache-config":class-sc
    heme}' is expected.
            at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:212)
            at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:93)
            at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:162)
            at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:115)
            at com.tangosol.run.xml.XmlHelper.loadXml(XmlHelper.java:118)
            ... 20 more
    Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid conten
    t was found starting with element 'external-scheme'. One of '{"http://xmlns.orac
    le.com/coherence/coherence-cache-config":local-scheme, "http://xmlns.oracle.com/
    coherence/coherence-cache-config":class-scheme}' is expected.
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAX
    ParseException(ErrorHandlerWrapper.java:195)
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Err
    orHandlerWrapper.java:131)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(
    XMLErrorReporter.java:384)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(
    XMLErrorReporter.java:318)
            at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErro
    rReporter.reportError(XMLSchemaValidator.java:417)
            at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportS
    chemaError(XMLSchemaValidator.java:3182)
            at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleS
    tartElement(XMLSchemaValidator.java:1806)
            at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startEl
    ement(XMLSchemaValidator.java:705)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scan
    StartElement(XMLNSDocumentScannerImpl.java:400)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
    l$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(X
    MLDocumentScannerImpl.java:648)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next
    (XMLNSDocumentScannerImpl.java:140)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
    l.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
    ML11Configuration.java:808)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
    ML11Configuration.java:737)
            at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHel
    per.validate(StreamValidatorHelper.java:144)
            at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.vali
    date(ValidatorImpl.java:111)
            at javax.xml.validation.Validator.validate(Validator.java:127)
            at com.tangosol.run.xml.SaxParser.validateXsd(SaxParser.java:236)
            at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:206)
    So I think that if can off JVM heap Memory used in the Near-Cache front-tier?
    Or can help how to config the  off JVM heap Memory used in the Near-Cache front-tier.
    Thanks.

    Only local-scheme and class-scheme can be used in the front-scheme of a near cache. 

  • Does bdb cache use JVM heap memory?

    I'm using BDB Java API. Do I need to set the heap size to be bigger than the db cache size?

    Hi Mimi,
    BDB cache size and JVM heap size are used for two different things. Cache size is used for storing the db data in modifying them in memory. If the cache size is not optimum then there would be too much of I/O activity and the performance would be affected.
    JVM heap size is used by the JVM to store the objects that the application creates. If the heap size is too small and there are too many objects get created by the application then the GC thread would be very active and will affect the performance of the application.
    Whether the heap size would be bigger than the cache size or not will depend upon how the application works.
    -Debsubhra Roy

  • 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

  • Memory areas used in SAP

    Hi Experts,
    I have a big confusion in memory areas used in SAP, can anyone help me to define it.
    I will list out the memory areas used,
    1. Virtual Memory
    2. Local Memory
    3. Shared Memory
    4. Extended Memory
    5. Heap Memory
    6. Roll Memory
    Thanks
    KT

    > Everybody have their own interpretation so they posted what they knew.
    It's more about which terminology you follow. Memory models are not identical implemented across different operating system so all answers here are somewhat correct depending on which OS glasses you wear.
    > If i find any authentic material i will post here. SAP Never gave clear memory model diagram how sap maps its memory model to OS memory but they tells about different memories they named and how they will be used during execution.
    Because it's OS dependent. You e. g. have on Windows a "view" memory model that uses segmented divisions or a "flat" memory model. On Linux you can use an mmap()'ed or a standard shmget() based model etc. etc.
    >  all applications will get memory allocation only from virtual memory. Even ST02 buffers also get memory allocation from OS virtual memory. It is not clearly mentioned any where that ST02 buffers will reside only in RAM.
    http://help.sap.com/saphelp_nw70/helpdata/EN/34/d9c8b3c23c11d188b40000e83539c3/frameset.htm
    <...>
    Virtual memory
    All operating systems (supported by SAP) support virtual memory technology. A process allocates virtual memory using logical (virtual) addresses. Each process has its own virtual address space.
    <...>
    > SAP Local memory: SAP tells that this is the memory reside with workprocess at os level and remains with it until shutdown.
    http://help.sap.com/saphelp_nw70/helpdata/EN/22/5d980297cb48129e663b0d4a3e844d/content.htm
    <...>
    Local process memory
    The operating system differentiates between local process memory and shared memory. For local process memory the operating system keeps both allocation steps transparent. Using an API virtual memory only is requested; the operating system does the other tasks, such as reserving physical memory, loading and unloading virtual memory into and out of the main memory.
    <...>
    Check
    http://help.sap.com/saphelp_nw70/helpdata/EN/d1/80b716dc8111d2ac8f0000e83539c3/frameset.htm
    which describes how this is implemented on the different operating system. So if you want to know how to match the SAP-View to the OS view you need to specify the OS.
    Markus

  • How much memory are actually being used? db_32k_cache_size

    Hi everyone,
    Using Oracle 10g on RHEL 5.3.
    I've been asked to check how much memory are actually being used by our db cache's. Currently we are using the parameters db_32k_cache_size (user-defined) and db_8k_cache_size (default) both allocated with 12gb. Now I want to know if there is any way to find out how much of the 12gb are actually being used by the cache.
    Is this possible?
    Thanks

    Thanks Guys,
    Okay, so it is using the whole 12gb. I guess the next question would be, is 12gb really needed? You see, we are trying to increase memory where possible as this database has performance issues. Now we are thinking of taking some of the 12gb that is allocated to the 32k cache and assign it to the sga for instance.
    Does this make any sense?
    Regards

  • My iPhone 4S shows I have over 6 GB of memory used for mail yet the mailboxes are more or less empty.  Where is the memory going and how can I reduce it?

    My iPhone 4S shows I have over 6 GB of memory used for mail yet the mailboxes are more or less empty.  Where is the memory going and how can I reduce it?

    I found a post with this solution that worked for me - .Do a backup, then download ibackupbot. It lets you look into the contents of that backup. Look in system files>mediadomain>library>sms>attachments. I found a ton of huge files related to long deleted texts. ibackupbot let me delete all that old crap. I then restored the phone with that now modifec backup and Bingo! freed up 9 GB. No problems.
    But note, if you are not technically inclined you probaly don't want to be digging around and deleting back up files. You delete the wrong thing and you could jack up your phone badly. Be careful.

  • 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 !!!

  • Monitoring JVM Heap

    I would like to be able to see what happened to the JVM's heap following a
    performance test.
    I'm really only interested in amount of heap used (ideally for each area of
    the heap - in 1.3 onwards). If I could get this figure regularly (say every
    5 seconds) I would be able to plot and see from the graph whether I have too
    little or too much heap.
    Is verbosegc the best way to do this i.e. just get the figures either side
    of a gc? Or is there a better way? I don't want a GUI tool as the runs can
    take hours and I want to be able to sleep! Just something that outputs to a
    file.
    Thanks in advance for all advice
    Ed

    "Ed Barrett" <[email protected]> wrote:
    I would like to be able to see what happened to the JVM's heap following
    a
    performance test.
    I'm really only interested in amount of heap used (ideally for each area
    of
    the heap - in 1.3 onwards). If I could get this figure regularly (say
    every
    5 seconds) I would be able to plot and see from the graph whether I have
    too
    little or too much heap.
    Is verbosegc the best way to do this i.e. just get the figures either
    side
    of a gc? Or is there a better way? I don't want a GUI tool as the runs
    can
    take hours and I want to be able to sleep! Just something that outputs
    to a
    file.
    Thanks in advance for all advice
    Ed
    Verbosegc is a good option. Here is how you can do it. Set the heap size to one
    of your lower settings. Turn on verbosegc. See how frequently you collect GC.
    If you never do it then you do not use a high amount of memory. If the GC is too
    frequent then your heap size is small.

  • Jvm heap dump options

    We have a memory leak occurring on our appserver (glassfish) and are having trouble pinpointing its cause, so I want to turn on some of the JVM heap dump options. I have turned on the following two:
    -XX:-HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=/heap_dump.hprofAre there any other options I can use to help resolve this? Also what will the dump output contain? Plain-text?
    Thanks

    a profiler comes to mind. But how do you know it is an actual memory leak? Are you getting out of memory exceptions?

  • Starting CF instances using different jvm.config files

    Hi.
    There are instructions for creating/using individual JVM
    configs for each
    CF server instance here:
    http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18206
    The instructions cover starting the instance and specifying
    the alternate
    config via both command line, or as a Windows Service.
    But what about via JRun Administrator? I see no option to
    specify any
    arguments for the "start" process.
    (I have to concede whilst I've *started* googling for an
    answer, I am being
    lazy and asking here before I've got too far with it: sorry).
    Adam

    brahms_x01, while this doesn't help the orginial poster -
    have you ever considered spending $195 and calling support for
    help? You'll spend _A LOT_ more than that upheaving and moving to a
    new application server (which will also have its own set of unique
    issues - including crashing). If all you've done is complain about
    your problems on the fourms, then I've got no sympathy for you.
    This isn't an official support center.
    nyck6623 is on the right path. The default GC, quite frankly,
    sucks. But you need to be _very_ careful switching out your GC. Do
    it wrong, you can make things much worse. See these documents:
    http://www.javaperformancetuning.com/
    http://www.pixl8.co.uk/index.cfm/pcms/site.resources.cfmxtuning/
    http://java.sun.com/performance/reference/whitepapers/tuning.html
    http://java.sun.com/performance/
    As always, becareful in what you do, and load test load test
    load test. You also might want to look into turning on VerboseGC so
    that you can see what your heap is doing. It'll write out to your
    server-out.log file. That'll help you tune the JVM as well.
    Finally, you might want to stop the GC from running every 60
    seconds. When the GC is running, ColdFusion isn't.
    Turn on VerboseGC = -verbose:gc -XX:+PrintGCDetails
    -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
    Force GC = -Dsun.rmi.dgc.server.gcInterval=3600000
    I'd bump your threads up to 10 or 12, and limit the cached
    queries to 50. And if you can afford to do it, add some memory to
    the servers so you can up your -Xmx limit. CF likes to breathe,
    deeply. I've got 4GB in my servers, and I set -Xmx1024M and the
    heap routinely runs around 700MB (with CF actually using around
    200MB).
    You might also want to consider turning on metrics so you can
    see how your threads and memory are doing.
    Turn on Metrics =
    http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19120

  • Issue in configuration - formsweb.cfg (10.1.2.0.2) using Sun JVM

    Hi gurus,
    Below is my config in formsweb.cfg, I want to use Sun JVM instead of Jinitiator
    [customjpi]
    baseHTML=D:\Ora10gDS\forms\server\base.htm
    baseHTMLjpi=D:\Ora10gDS\forms\server\basejpi.htm
    baseHTMLjinitiator=D:\Ora10gDS\forms\server\basejpi.htm
    HTMLdelimiter=%
    envFile=default.env
    escapeparams=true
    form=test.fmx
    serverURL=/forms/lservlet
    codebase=/forms/java
    imageBase=DocumentBase
    width=100%
    height=100%
    separateFrame=true
    archive=D:\Ora10gDS\forms\java\frmall.jar
    archive_jini=D:\Ora10gDS\forms\java\frmall_jinit.jar
    jpi_download_page=http://java.sun.com/products/archive/j2se/1.4.2_09/index.html
    jpi_classid=clsid:8AD9C840-044E-11D1-B3E9-00805F499D93
    jpi_codebase=http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0
    jpi_mimetype=application/x-java-applet;jpi-version=1.4.2_09
    When I calling form using URL http://pc021161.cts.com:8889/forms/frmservlet?config=customjpi which is throwing errors.
    Below is my log of Java console
    Java Plug-in 1.5.0_06
    Using JRE version 1.5.0_06 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\125217
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system and deployment properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to <n>
    java.net.MalformedURLException: unknown protocol: d
         at java.net.URL.<init>(Unknown Source)
         at java.net.URL.<init>(Unknown Source)
         at sun.plugin.util.GrayBoxPainter.setProgressFilter(Unknown Source)
         at sun.plugin.AppletViewer.initApplet(Unknown Source)
         at sun.plugin.AppletViewer.appletInit(Unknown Source)
         at sun.plugin.viewer.LifeCycleManager.initAppletPanel(Unknown Source)
         at sun.plugin.viewer.IExplorerPluginObject$Initer.run(Unknown Source)
    load: class oracle.forms.engine.Main not found.
    java.lang.ClassNotFoundException: oracle.forms.engine.Main
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed.
         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
         at sun.applet.AppletClassLoader.access$100(Unknown Source)
         at sun.applet.AppletClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 10 more
    Exception in thread "Thread-4" java.lang.NullPointerException
         at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
         at sun.plugin.AppletViewer.showAppletException(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Please help, if anybody have the idea of this error.
    Thanks in Advance
    Justin

    My default.env file is pasting below:
    # $Id: default.env 14-apr-2005.13:22:43 pkuhn Exp $
    # default.env - default Forms environment file, Windows version
    # This file is used to set the Forms runtime environment parameters.
    # If a parameter is not defined here, the value in the Windows registry
    # will be used. If no value is found in the registry, the value used will
    # be that defined in the environment in which the servlet engine (OC4J
    # or JServ) was started.
    # NOTES
    # 1/ The Forms installation process should replace all occurrences of
    # <percent>FORMS_ORACLE_HOME<percent> with the correct ORACLE_HOME
    # setting, and all occurrences of <percent>O_JDK_HOME<percent> with
    # the location of the JDK (usually $ORACLE_HOME/jdk).
    # Please make these changes manually if not.
    # 2/ Some of the variables below may need to be changed to suite your needs.
    # Please refer to the Forms documentation for details.
    ORACLE_HOME=D:\Ora10gDS
    # Search path for Forms applications (.fmx files, PL/SQL libraries)
    # If you need to include more than one directory, they should be semi-colon
    # separated (e.g. c:\test\dir1;c:\test\dir2)
    FORMS_PATH=D:\Ora10gDS\forms;D:\Source\FMB;D:\Source\LIB
    # webutil config file path
    WEBUTIL_CONFIG=D:\Ora10gDS\forms\server\webutil.cfg
    # Disable/remove this variable if end-users need access to the query-where
    # functionality which potentially allows them to enter arbitrary SQL
    # statements when in enter-query mode.
    FORMS_RESTRICT_ENTER_QUERY=TRUE
    # The PATH setting is required in order to pick up the JVM (jvm.dll).
    # The Forms runtime executable and dll's are assumed to be in
    # D:\Ora10gDS\bin if they are not in the PATH.
    # In addition, if you are running Graphics applications, you will need
    # to append the following to the path (where <Graphics Oracle Home> should
    # be replaced with the actual location of your Graphics 6i oracle_home):
    # ;<Graphics Oracle Home>\bin;<Graphics Oracle Home>\jdk\bin
    PATH=D:\Ora10gDS\bin;D:\Ora10gDS\jdk\jre\bin\client
    # Settings for Graphics
    # NOTE: These settings are only needed if Graphics applications
    # are called from Forms applications. In addition, you will need to
    # modify the PATH variable above as described above.
    # Please uncomment the following and put the correct 6i
    # oracle_home value to use Graphics applications.
    #ORACLE_GRAPHICS6I_HOME=<your Graphics 6i oracle_home here>
    # Search path for Graphics applications
    #GRAPHICS60_PATH=
    # Settings for Forms tracing and logging
    # Note: This entry has to be uncommented to enable tracing and
    # logging.
    #FORMS_TRACE_PATH=<FORMS_ORACLE_HOME>\forms\server
    # System settings
    # You should not normally need to modify these settings
    FORMS=D:\Ora10gDS\forms
    # Java class path
    # This is required for the Forms debugger
    # You can append your own Java code here)
    # frmsrv.jar, repository.jar and ldapjclnt10.jar are required for
    # the password expiry feature to work(#2213140).
    CLASSPATH=D:\Ora10gDS\j2ee\OC4J_BI_Forms\applications\formsapp\formsweb\WEB-INF\lib\frmsrv.jar;D:\Ora10gDS\jlib\repository.jar;D:\Ora10gDS\jlib\ldapjclnt10.jar;D:\Ora10gDS\jlib\debugger.jar;D:\Ora10gDS\jlib\ewt3.jar;D:\Ora10gDS\jlib\share.jar;D:\Ora10gDS\jlib\utj.jar;D:\Ora10gDS\jlib\zrclient.jar;D:\Ora10gDS\reports\jlib\rwrun.jar;D:\Ora10gDS\forms\java\frmwebutil.jar;D:\Ora10gDS\forms\java\frmall.jar;D:\Ora10gDS\forms\java\frmall_jinit.jar
    Regards
    justin

  • Can you alter the JVM heap space size for all Windows users?

    Hi,
    I have used the "-Xmx" option to increase the Java Heap space for my Java application. This works fine, but all other users on my system still have the default heap space setting and I want them to have use an increased heap space as well. I cannot alter the JVM heap space at the command line since our Java application is started via an ActiveX bridge from a Windows application.
    So far I have found one potential, but not really good solution; I have figured out that I can copy the deployment.properties file containing the altered JVM heap setting from the "Application Data\Sun\Java\Deployment" folder in my own Windows "Documents and Settings" folder to the same folder of another user. However, this is not a really good solution since we are running a system with about 60 users and often new user accounts are created and sometimes people forget to copy the deployment.properties file.
    Does anyone know a better solution. I've tried to search the Windows registry or the JRE files for a default JVM heap space setting but I can't find it anywhere. Still on some systems the default is 64Mb and on others 96Mb, so I guess there must be a setting somewhere?

    The following is my eclipse.ini:
    -vmargs
    -Xms256m
    -Xmx512m
    -Dfuego.fstudio=true
    -DprodMode=preProduction
    -Dbea.home=C:\bea\albpm6.0\studio\..
    -Djava.endorsed.dirs=""
    -XX:PermSize=256M
    -XX:MaxNewSize=256M
    -XX:MaxPermSize=1024M
    but i think this configuration just effect the eclipse, not embed bpm engine. I also change the engine preference, increase the heap size, but engine crash as before.
    I want to change the jvm from jdk to jrockit, i hope any suggest.

  • JVM heap parameter setting...

    hi body
    we have two HP machine. and each machine hardware configration is :  8  CPU  and  40G memory
    software environment:
    1. system sofeware :  HP-UX 11.31  64bit
    2. NetWeaver 7.0 (2004s)
    3. HP JDK 1.4.2 64bit
    in machine one, also host one ,  the  Message Server(SCS)  | Central Instance and Oracle DB instance  installed.
    the DI (Dialog Instance)  installed in second host alone.  and it  contain two server node .
    what is the best  configuration about JVM heap and GC parameters for each host(CI adn DI)
    please help

    The best configuration depends not only on your hardware, but also on the number of users and the way the system is being used.
    For parameter recommendations of JVM, please check note 723909 - Java VM settings for J2EE 6.40/7.0
    Kind regards,
    Mark

  • When I take pics on my ipod touch it is using up a lot of memory....my sister has the same ipod and can tke way more pics

    When I take pics on my ipod touch it is using up a lot of memory...........my sister had the same one and can take way more pics. I tried restoring but still having memory problems...help

    You are not connected to the internet. Try:
    - Resetting the iPod
    Reset iPod touch:  Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Powerng off and then back on your router
    - Resetting network Settings: Setings>General>Reset>Reset Network Settings
    - iOS: Troubleshooting Wi-Fi networks and connections

Maybe you are looking for

  • Audio and Midi Jumping/Swithching Tracks in Arrange Window

    I've had an issue with audio and Midi information switching tracks in the arrange window. Granted, I'm new with Logic. But as I'm working in an audio Track (let's say track 3), I happen to undo a record pass or delete something, and the next thing I

  • Can someone help me figure out why this didn't work?

    I recently gave my iMac to my nieces....I erased and reinstalled the osx from my disks that came with the program. They HAD one of the Mac Minis (an old one...g4 I think). When we started up the iMac, I used the Firewire connection to transfer all th

  • Mac Mini chirps - connected to home theatre

    I have a Mac Mini, mid 2010, that I use as a media server and it's connected to my home theatre. It currently runs Mac OS X v10.9.5 and as long as I've had it, no matter what version of Mac OS, there's an occasional chirp. It sounds like the first no

  • DROP SHADOWS AND VIDEO ISSUES

    I am using Windows7 and ID CS5.  I have discovered that having more than one drop shadow causes ID to redraw the entire page after every action.  Move a text box a fraction of an inch and it redraws everything.  This usually takes between 15-20 secon

  • Macbook pro will not display screen when turned on

    Can someone please help me figure out the issue I am having with my Macbook Pro I got it late 2008  or early 2009. Never had an issue with it till about 6 months ago. When I turned it off and then turned it back on again later it would always display