Question on Garabage Collection Overhead?

Hi,
Our application has throwing an exception called "Garage Collection Overhead limit exceeded". I had surfed in internet and found, this error will occur at if heap space is low then the garage collector will start run, after the garbage collector run also it cant able to free the heap memory then it will throw the "Garage Collection Overhead limit exceeded" message.
For solving this issue i had called the System.gc() manually whenever the tasks has been completed, i had set null to the used objects.
But this didn't solving the issue, can anyone please suggest how to solve this issue?

1. It might be that simply allocating more memory at startup with -Xmx will be sufficient.
2. It might be that you have a bug in your code where you're hanging onto objects that you no longer need.
3. It might be that your design is faulty, such that you still need the objects you're hanging onto.
4. It might be that you need to study up on the GC command line options available and find what makes sense for your particular scenario. (Google for something like tuning java garbage collection for documents describing this.)
For #2 and #3, you'll want a profiler, such as JProbe, JProfiler, OptimizeIt, or the javavisualvm that comes with the JDK download, to view how the heap is being used.

Similar Messages

  • Questions for requirement collection in IMC Vertical for MM

    Can someone please suggest questions for requirement collection for MM in IMC vertical.

    Hi
    What is IMC vertical?
    Reg
    Raja

  • Installation Question CS4 Master Collection (Windows Content CD)

    I am running Windows Vista Utlimate SP1-32 bit
    I have installed CD's 1 thru 4 with no issues.  I installed the last CD in the package (it is labeled WINDOWS CONTENT). When I attempt to install this CD, the auto-run feature generates an error message that says "Application not found".  I can access the files through explorer, but I can't get the things to install.
    I am also a VERY new user to Creative Suite.
    Thanks in advance for your help.

    The content is just a collection of goodies that may or may not interest you. Once you get familiar with the individual programs you'll know what to do with the disk. Just keep it handy and check it out from time to time and you'll start to understand what's on there.
    Bob

  • Basic questions about permanent Collections

    I am just learning about Collections, discovering that a Collection preserves all of the work I done in the collection. I am assuming then, that the images in a collection are virtual copies that can be adjusted in the Develop Module to be different than they would be displayed in the general catalog under the original imported folders. I also assume that a modified image cannot be locked to prevent further changes, say if another virtual copy were to be made.
    I gather that Collections need to be protected somehow, for instance if I have one collection with images adjusted to look good on the web, and another collection of the same images adjusted to look good using a certain printer.
    Maybe I will never need to adjust images for different applications, except outside of Lightroom for CMYK applications in offset printing. Since various settings for Slide Show, Web and for Print can all be contained in one collection, it might probably be best to use the same images without changing the images for each output.
    Can some of you who are more experience add thoughts here to how best to use Collections. My goal is to keep things simple.
    TIA,
    Ken

    There are not enough gold stars to go around but you all deserve them for the helpful answers.
    I see on pg 175 of the Lightroom Classroom In A Book (in which there are also an unusual amount of typos) that "In the Quick Describe metadata set, the Metadata panel shows the Filename, Copy Name (if the image is a virtual copy..." This is more evidence that Lightroom and the system of Metadata is quite well developed itself, including the 'Copy Name' for a virtual copy. I have found already, in my short experience with Lightroom, that I want to work on a Virtual Copy when I'm not quite sure of the direction I want to take with a photo's adjustments. By retaining the Master 'as is' (with modest adjustments) I can always quickly go back to view the starting point (best image with modest adjustments) while I continue to work on a Virtual Copy for more experimental adjustments.
    On the one hand, my shooting is going on hold while I learn Lightroom, but I feel it is a worthwhile investment to become as familiar as possible with Lightroom's capabilities. It seems to add more to my desire to capture images more accurately, because I know I have so much to work with once I get the images back into the studio. Crisper images with optimal lighting will make me as happy as a pig in mud when I get them into Lightroom.

  • A question on bulk collect

    My Version
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPls see the code below
    declare
    type empno_arr_type is table of int;
    empno_arr empno_arr_type;
    begin
    select empno  into empno_arr
    from emp;
    end;
    Output
    PLS-00642: local collection types not allowed in SQL statementsNow same code with bulk collect executes fine.
    declare
    type empno_arr_type is table of int;
    empno_arr empno_arr_type;
    begin
    select empno bulk collect into empno_arr
    from emp;
    end;Just wanted to undestand what exactly is the difference other than reduced context switch with bulk bind.
    What could have made the second code work since both are local collection types only?
    Thanks,
    CJ

    910555 wrote:
    Just wanted to undestand what exactly is the difference other than reduced context switch with bulk bind.There is basically a single context switch with an implicit SQL cursor in PL/SQL. So whether or not bulk fetching/binding is used, is immaterial - it does not reduce context switching as there is already the minimal possible context switching for executing that implicit cursor.
    E.g.
    declare
    begin
       --// single context switch (1 row fetched)
      select salary into salaryAmount from emp where empno = 1234;
       --// single context switch (20 rows fetched)
      select salary bulk collect into salaryAmounts from emp where deptno = 1234;
    end;Context switching happens each time you use a SQL cursor interface. E.g.
    declare
      cursor c is ...
    begin
      --// context switch
      open c;
      loop
        --// context switch
        fetch from c  ....
      end loop;
      --// context switch
      close c;
    end;Bulk processing and binding reduce context switching when using cursor processing loops like in the above example. If you can fetch more rows per loop iterations, then there will be less context switching.
    For example, the cursor outputs a 1000 rows. The above sample code using single row fetches in the loop, will have a 1000 loop iterations and therefore a 1000 context switches. A bulk fetch of a 100, will fetch a 100 rows per loop iteration for a total cost of 10 iterations and 10 context switches to consume the 1000 rows output of that cursor.
    What could have made the second code work since both are local collection types only?You are confusing the receive structure (in PL/SQL) with context switching.
    When you fetch from a cursor, you need to supply a PL/SQL structure to receive the output (called a SQL projection) from the cursor.
    If the fetch is a single row fetch, a scalar (single value) structure is needed.
    If the fetch is a multi-row (bulk) fetch, the structure needs to be an array (aka collection or nested table).

  • Question related to Collections

    1. I have a set of type HashSet which contains words and I have created a GUI with a JTextField that allows the user to check if his "word/letter" is in the HastSet defined. If the user's word is there, I will display a message ( "The HashSet contains the word" + user_word ). But on the other hand, if the user's word is not there, I have to display a message ("The HashSet does not contain the word" + user_word). The following code works fine when the user's word is in the set but when the word is not in the set, my program just crashes with a bunch of errors.
    public void wordCheck(String user_word)
              i = myHashSet.iterator(); // i is an Iterator<String>
              if (i.hasNext()) {
                   while(searchBoolean != true){
                        if ( (user_word.equalsIgnoreCase(i.next())) == true){
                             searchBoolean = true; // If found, the boolean value will be set to true
                             answer= "The HasHSet contains the word " + user_word; // answer is a String variable
                        else {
                             searchBoolean=false;
                   } // end of while
              } // end of first if
              else {
                   if (searchBoolean == false)
                        answer="The HashSet does not contain the word " + user_word;
         }All my variables have been declared at the beginning of my program, so I don't think that my program crashes because of some undeclared variables.
    This is the error:
    Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException
         at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source)
         at java.util.TreeMap$KeyIterator.next(Unknown Source)
    and it says that there is an error at the following line of code:
    if ( (user_word.equalsIgnoreCase(i.next())) == true){So basically, my question is what can I do in order to not get all these errors and simply display on the GUI that the set does not have this x element.
    2. Is there a magic function in Java that can actually interpret XYZ as the same as zxy. For example, if my set has the word XYZ and if the user types zxy, I want to display the message " The HashSet does contain the word zyx". Or else, do I have to use a for loop and check if there is each letter of the user_word in an element found of my Set.
    I sincerely thanks everyone who at least take time to read my problem and please don't feel that I am asking you to do my work. All I want is some hints of what I did wrong so that I can correct it or maybe it could be something really easy that I just couldn't see for hours and hours...
    Thank you!

    ti_ma wrote:
    Believe me on that, I have tried using a while loop over there and my program does not only crashes but freezes my whole computer...With the "if", my method works really fine when the value is found in the set but when a value is not found in the set, it just crashes and that's what I want to avoid!You can't just stop using the correct method because you get an error or crash...find the error and fix it! It doesn't make sense to switch to a method that will never work, just because it compiles, does it?
    Your current method only checks if there's a next item once, so when you get to your While loop, there's nothing checking to see if there's a next item before it attempts to read one...hence the error you're having. You need to have a While(hasnext()) loop, and inside that, check if next() is the item.

  • Question about smart collections

    I know how to create a smart collection by, first, sorting media by "type." But... how do I simply create a "new" smart collection, and then just "drag" what clips I want into said collection?
    Yes... I was able to make a new smart collection, but I can't figure out how to simply drag-and-drop the clips I want into the smart collection. I sense it is something simple, but I can't grasp it as of yet.

    You can't. A smart collection is, by definition, based on the criteria for the collection. Dragging a clip into that collection cannot give the clip the criteria for the collection. For instance, if you had a smart collection for audio clips, you could not drag a video file into in and miraculously make it an audio file.
    What you want is keyword collections.

  • Creation Of garabage collection logs

    Hi Gurus,
    Just wanted to Ask as i can generate garbage collection logs on weblogic..is it possible on OAS10g as well???
    If yes please let me know how..I have an Java application running on OAS10g.
    Thanks in advance
    Regards
    Fabian

    follow this
    article how to create for MS office and try adding SMS_G_System_SYSTEM.SystemType = "X64-based PC"
    in criteria.
    Eswar Koneti | Configmgr blog:
    www.eskonr.com | Linkedin: Eswar Koneti
    | Twitter: Eskonr

  • DPS Question for Master Collection Owners

    I own the Master Collection and am not interested in subscribing to the Creative Cloud at this time.
    My educational institution has a much easier time fiscally in one-time outlays (licenses) rather than monthly (continuing) subscription models.
    For this reason I am interested in DPS however not in the Creative Cloud.
    I have been having a bear of a time finding out any information regarding non-Creative Cloud DPS pricing.
    I sense a real push from Adobe to the Creative Cloud where DPS is concerned.
    I am interested in leveraging DPS in a classroom setting with approximately 40 computers, all licensed with at least Web and Design Premium.
    If possible, I would be grateful for pricing for the Professional and Enterprise licenses for DPS.
    Additionally, if anyone could explain the differences, along with costs for uploading apps for review and distribution by Apple, this would be wonderful.
    Thanks in advance for any assistance, either from kind and knowledgeable forum readers, or Adobe staff-
    Timothy

    Thanks Bob for your swift reply. I greatly appreciate the ability to correspond related to my query.
    The goal is to teach students to integrate the Creative Suite CS6 (in this case, primarily Photoshop, Illustrator, InDesign/Incopy) and Lightroom4, into a convergent newsroom environment, with final portfolio in the DPS.
    We are designing a curriculum where the final project for students will be a student-created magazine/journal to be distributed via the appstore for alumni outreach.
    We have a campus site license with Adobe however our IT staff have no information on DPS, or at least they are unaware of it at this time.
    Currently I am working on writing a grant with a deadline of next week, Friday January 25. I want to include costs for licensing of DPS for Education, however I have requirements to adhere to.
    In particular, I am not permitted to allocate monthly subscriptions into a grant of this type, rather, the licensing costs must be based on 1-time outlays.
    If there were additional charges necessary to upload a finished magazine, that would be fine, but monthly charges (ie subscriptions) would not be possible.
    Thank you again Bob. I have attempted to contact Adobe Education via this forum and email however it remains (now, and in the past) challenging for me to actually speak with someone.
    Cordially with appreciation for your expertise, and willingness to share your perspective-
    Timothy

  • Full Garabage Collection every minute in oc4j_soa instance

    It looks like a Full GC cycle is run exactly every minute on a IDLE BPEL instance that does not have any instances. This is a basic 10.1.3.1.0 BPEL install with no Out of the box parameters modified / tuned. Is this a known issue / bug with a fix ?
    Also, we have 3 - 5 Asnyc BPEL Processes that involve human workflow. The invocation rate of these workflows is medium (100 instances per hour),but the instances may last long due to human workflow. What would be the recommended settings for these in terms of worker, invoker and dispatcher threads, DB Connections etc? Is there any tuning guide/ spreadsheet available for computation of optimum values ?
    $ jstat -gcutil 7123 60000
    S0 S1 E O P YGC YGCT FGC FGCT GCT
    0.00 62.95 29.18 11.66 99.66 651 13.801 62 62.792 76.593
    18.75 0.00 86.85 11.78 99.67 666 14.103 63 63.845 77.948
    0.00 25.00 71.48 10.95 99.63 681 14.404 64 64.908 79.312
    0.00 41.97 54.68 11.08 99.64 697 14.722 65 65.900 80.622
    0.00 41.97 30.84 11.21 99.65 713 15.043 66 66.853 81.897
    0.00 41.97 7.20 11.33 99.66 729 15.352 67 67.815 83.168
    87.81 0.00 75.06 10.92 99.64 744 15.652 68 68.818 84.469
    65.86 0.00 43.25 11.04 99.64 760 15.984 69 69.798 85.782
    84.94 0.00 82.86 11.23 99.68 776 16.292 70 70.776 87.068
    59.61 0.00 1.74 11.41 99.69 792 16.606 71 71.758 88.364
    0.00 25.00 67.50 10.94 99.65 807 16.897 72 72.776 89.673
    0.00 62.95 23.52 11.06 99.65 823 17.219 73 73.728 90.947
    $ top -p 7123
    7123 vvedula 17 0 1491m 338m 46m S 3.0 16.7 6:45.31 java => 3% CPU usage

    Thanks for the replies. Let me clarify a few things:
    1) We've tried setting -Xms to -Xmx (a long time ago, so maybe it's time to revisit), but doing so caused our app to exhibit other strange behavior due to the fact that no full GCs were ever done until all the allocated memory was exhausted. These full GCs, when finally triggered, ended up taking quite some time due to the fact that there was a lot of compaction (or attempted compaction) going on.
    2) I don't have a problem with doing full GCs (I use the term full GC because both a young and old generation GC happens at every full GC), but I have a problem with the full GCs happening every 2 or 3 seconds and taking up 100% cpu for minutes (because the concurrent phases would run back-to-back for every full GC). Especially when the app has 1/10th the volume of our other app which does a young gc every 20s or so and a full gc every 5 or 6 minutes.
    We've gone ahead and set the initial heap size to -Xms5g for today's run. We initially went without setting -Xms (again, just like our other instance) and we started seeing full GCs almost immediately as the JVM did not want to allocate more heap. We then went with -Xms2g which delayed the full GCs for a few hours until the used heap got close to the allocated heap. Full GCs then kicked in for cycles (15 or 30 mins long) until the JVM increased the heap by a few hundred mb each time.
    As I've stated, I'm struggling with the fact that we have another instance of the application that does not exhibit this behavior and does not have -Xms set at all. And the only thing I know that is different is that during startup, the amount of data we load is quite large (~6-8gb) and so our "min size" is already pretty large before starting to handle additional volume. Hopefully setting -Xms to 5g will replicate the starting point of the original instance.
    I'll respond back with updates.
    Thx,
    Josh
    Edited by: user10720003 on Aug 12, 2009 4:15 AM

  • 64 bit question - Adobe Master Collection

    I have come across a few threads about the Adobe CS5 suite which I currently have. I see that only two apps run in 64 bit but I work in Flash alot and the **** thing is soooooo sluggish. Flash is a native 32 bit app and was wondering about the following, I see an app called Sixty Four Switcher, is this worth using and will it make my Adobe apps run faster by running in 64 bit without giving me problems anywhere else?
    I'm on a Mac Pro 2.66 with 10 gigs of ram 10.6.6

    Thx as I first had posted on the Adobe forum about the sluggish performance of Flash as a Mac pro with a quadcore and 10 gigs of memory should be sufficient to run Flash and it;s OK but it's when I have two Flash docs open at the same time I get the slow performance. When I see 25 views and no comments on my post in that forum that tells me there's more to this that Adobe does not want to discuss. Well we will see in CS6. I hear there will be an app that converts Flash to work on Ipad coming.
    imagine!

  • Struts collection question

    hi friends,
    I have question with struts collection. I have a colletion called chapters which contains about 10 items(strings) , i am displaying these items in jsp with iterate tag and displaying the collection items , one on each line..
    now i want to place a small symbol like arrow beside eash collection item in jsp page so that when i click the symbol it should reposition the items....like if i click the symbol beside item1, then item1 should move to item2 position and item2 should move to item1 position....
    Any ideas please
    Sorry please tell me if i am not clear
    Thanks in advance

    go tru below code to display alert messsaces to the user
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <html:html>
    <head>
    <title>
    getPID
    </title>
    <html:javascript formName="pidAForm"/>
    </head>
    <body bgcolor="#ffffff">
    <html:errors/>
    <html:form action="/pidAction" onsubmit="return validatePidAForm(this)">
    <table>
    <tr>
    <td><bean:message key="check.appid"/></td>
    <td><html:text property="applicationID"></html:text></td>
    <td><button id="btnApplication" value="choose"></button>
    </td>
    </tr>
    <tr>
    <td><bean:message key="check.projid"/></td>
    <td><html:text property="projectID"></html:text></td>
    <td><button id="btnProject" ></button>
    </td>
    </tr>
    <tr>
    <td><bean:message key="check.objid"/></td>
    <td><html:text property="objectID"></html:text></td>
    <td><button id="btnObject" ></button>
    </td>
    </tr>
    <tr>
    <td><bean:message key="check.date"/></td>
    <td><html:text property="date"></html:text></td>
    <td><button id="btnDate" ></button>
    </td>
    </tr>
    <tr>
    <td><html:submit value="submit"/></td>
    </tr>
    </table>
    </html:form>
    </body>
    </html:html>

  • Maintain overhead rates for cost centers

    hello
    could some one tell me when i should i maintain overhead rates for the cost centers.
    thanks
    ram

    Hi,
    If I do not misunderstand your question on "WHEN", to take the overhead calculation on cost center effective, you need to setup the costing sheet and assign the costing sheet to the receiving cost centers to collect overhead before you take overhead calculation for them.

  • Garbage collecting threads

    I am doing the following:
    public class MyClass {
         private Thread t = null;
         public class testThread extends Thread{
           public void run(){
                  String logName = this.getClass().getName();
                  Logger.Print( logName );  // Basically prints logName to file
                  for( int i = 1; i<4; i++){
                         try{
                           Thread.sleep(100)
                           [do stuff]
                           Thread.sleep(100);
                         catch(InterruptedException e) { }
           public callThread(){
               if ( t != null ){
                        if( !(t.isAlive()){
                               t = new TestThread();
                               t.start();
               else{
                               t = new TestThread();
                               t.start();
    } What, I want to happen is a thread to finish and after that a new one to start, and once the old thread does not have any variable assoiciated to it anymore, it should get garbage collected as far as my java understnading goes, this is exactly what should happen, in duo time whenever the garabage collecter decides so. This is a very long time running program.
    And the log shows the names of the threads like Thread-1 , Thread-2, Thread-3 , Thread-4, basically this name is increased by one everytime the function callThread is called and the old thread finished running, is there a limit to how many times I can call it like if it is called 10 billion times, will I have Thread-10000000000 in my log? and will the garbage collection work as I think? I am a c++ programmer so I do not trust it 100%, I really feel like adding delete t; so I can feel confident it is really gone before I do a t = new TestThread(); hehe C++ sickness??
    Please give me advice on this!!! and I will be very happy!
    Edited by: dakiar on Mar 19, 2008 8:18 AM

    dakiar wrote:
    What, I want to happen is a thread to finish and after that a new one to start,Use join(), rather than looping and checking isAlive, in order to determine when a thread has died.
    while (true) {
      Runnable r = new MyRunnable(); // You have no reason to extend Thread. It's preferable to implement runnable.
      Thread t = new Thread(r);
      t.start();
      t.join();
    and once the old thread does not have any variable assoiciated to it anymore, it should get garbage collected as far as my java understnading goes,It will become eligible for GC. There's no guarantee when or even if it will actually be GCed, other than that GC will at least happen before OutOfMemoryError.
    And the log shows the names of the threads like Thread-1 , Thread-2, Thread-3 , Thread-4, basically this name is increased by one everytime the function callThread is called and the old thread finished running, is there a limit to how many times I can call it No.
    like if it is called 10 billion times, will I have Thread-10000000000 in my log? Perahps. Or if Thread uses an int then it might wrap around to Integer.MIN_VALUE and give Thread--2147483648.
    You know you can assign your own names to the Threads.
    and will the garbage collection work as I think? It will work fine, and that has nothing to do with thread names.
    I am a c++ programmer so I do not trust it 100%,So, you think that you managing memory ad-hoc in every program you write when you're trying to focus on implementing the business requirements of your app will be better at it than the guys who were specifically focussed on writing memory management that would be handled consisently by the computer, and has been continuously refined, not to mention tested by thousands of Java developers over the last dozen or so years?
    I really feel like adding delete t; You can't and you don't need to.

  • Collective Confirmations/Fast Entry(CO12/CO1V)

    Hi Frnds
    I have a question on the collective entry /fast entry of production orders
    My requirement is
    When ever iam entrng the set of production order ,system should pic the operation number as 0010 as default
    The system should get the activty names as maintained in workcenter .routing  rather as usal activity 1, 2 ,3
    The user ammends the activty details ,for quanity partially confirmed ..
    The confirmation screen need to set so that activity details populate next to qty coloumn
    Above setting for CO1V/CO12 need to be common for all the users..who ever checks the transaction should have the same setting ,
    Any document is higly apprichiated. can send the doc to (me4sap at gmal.cm)
    thanks
    Rajan
    Edited by: Rajan Kotagal S on Jun 3, 2009 2:03 AM

    Hi Sree Gowda,
    i have  three options in wage group, when i am confirmation of production orders collectively by CO12 , selecting  the appropriate wage group, hence i want make this feild mandatory,
    thanks in advance,
    Mohan M

Maybe you are looking for

  • FTP Authentication not working

    I have a v240 with solaris 9 and the latest patches. After a poweroutage I can not login via ftp. I have tried from the console from computers on the same subnet., with the full DNS name and just localhost. nothing works but SSH works fine but I need

  • SendRedirect is not working in Oracle Weblogic 10.3.5.0

    Hi , We are using oracle weblogic 10.3.5.0 server as a application server. But in weblogic we are facing issues with sendRedirect and request dispatcher. Requesting your help for getting out of this issue. Thanks in advance Sachin Hadawale

  • How to erase a background and make it transparent so only part of the photo is left

    Hi all I need to erase (mask, clip??) a background completely so the subject is just sitting on a transparent background. I keep ending up with white being substituted when i save the document. I need it just to have the person or object with blank c

  • Abap Certification - How to register

    Hi all I want to know how to appear for the ABAP certification exam. Not the content. How to register or appear for the exam etc., Thanks Vijaya Chamundi

  • Major help needed for a fool :)

    specs ms 6728 ver 1 865pe neo 2 p4@3Ghz 512mb pc3200cl2 ddr dimm ati radeon 9800 win xp pro The Problem. Thanks for reading this issue im not the most tech head person around so please forgive me if some of the following doesnt quite make sence as it