Getting OutOfMemoryError when I'm at less than 10% of max.

Certain users are seeing this error randomly when they start the application (happens about 1 out of 10 times they start the app). The entire Java exe is using around 90MB according to Task Manager; the max is set to 1024MB. I am looking for any clues on how to start debugging/fixing the issue:
Exception:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
     at java.awt.image.DataBufferInt.<init>(Unknown Source)
     at java.awt.image.Raster.createPackedRaster(Unknown Source)
     at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
     at sun.awt.image.SunVolatileImage.getBackupImage(Unknown Source)
     at sun.awt.image.VolatileSurfaceManager.getBackupSurface(Unknown Source)
     at sun.awt.image.VolatileSurfaceManager.initialize(Unknown Source)
     at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
     at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
     at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
     at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
     at sun.awt.windows.WComponentPeer.createVolatileImage(Unknown Source)
     at java.awt.Component.createVolatileImage(Unknown Source)
     at java.awt.Component$BltBufferStrategy.createBackBuffers(Unknown Source)
     at java.awt.Component$BltBufferStrategy.revalidate(Unknown Source)
     at java.awt.Component$BltBufferStrategy.revalidate(Unknown Source)
     at java.awt.Component$BltBufferStrategy.getDrawGraphics(Unknown Source)
     at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)
     at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
     at javax.swing.RepaintManager.paint(Unknown Source)
     at javax.swing.JComponent.paint(Unknown Source)
     at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
     at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
     at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
     at java.awt.Container.paint(Unknown Source)
     at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
     at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
     at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
     at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
     at java.awt.event.InvocationEvent.dispatch(Unknown Source)
     at java.awt.EventQueue.dispatchEvent(Unknown Source)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
GC log:
1.473: [GC 13184K->2704K(63936K), 0.0078083 secs]
2.142: [GC 15540K->6170K(63936K), 0.0117804 secs]
2.205: [GC 19354K->7206K(63936K), 0.0045008 secs]
2.273: [Full GC 13790K->7052K(63936K), 0.0578393 secs]
10.497: [GC 20236K->8518K(63936K), 0.0021190 secs]
11.517: [GC 21702K->8456K(63936K), 0.0023419 secs]
11.520: [Full GC 8456K->7794K(63936K), 0.0690542 secs]
11.604: [Full GC 7794K->4384K(997824K), 0.0601337 secs]
Client is running Java 6u14 on Windows XP SP3, with these arguments:
-Xms64m
-Xmx1024m
-Xloggc:{filename removed}
-Djava.ext.dirs={dirs removed}
-XX:+UseConcMarkSweepGC
-Dsun.java2d.d3d=false
-Dsun.java2d.ddoffscreen=false
-Dcom.sun.management.jmxremote
Any ideas?
Thanks,
Thomas

Maybe using a different collector (e.g., -XX:+UseSerialGC instead of -XX:+UseConcMarkSweepGC) would be diagnostic, even if it didn't give you as short GC pauses.
Maybe getting a heap dump on the OutOfMemoryError (-XX:+HeapDumpOnOutOfMemoryError, and see [http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/clopts.html|http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/clopts.html] for how to use it) and looking to see what's in the heap? There are also tools (jmap, etc.) for getting heap dumps at times of your choosing.
Figure out what caused the heap to grow from 63936KB at 11.520 to 997824K at 11.604. It looks like you barely survived that collection, so it's not unthinkable that something like that could push you over your 1024MB limit. I can't imagine what it is, though, since the collection itself says there was almost nothing (7794K) in the heap before the collection started. E.g., are you failing to allocate a single 1GB object? Failing to allocate would cause an OutOfMemoryError (duh!), but leave no traces in the heap (because we failed to allocate the object). Maybe using -XX:+PrintGCDetails would say more about the sizes of things in the heap from the sizes of the generations. Maybe -XX:+PrintHeapAtGC would tell you something about the sizes of the survivor spaces, permanent generation, etc. that would be instructive.

Similar Messages

  • Why did I receive an e-mail saying I have exceeded my storage when I am using less than 1 GB

    why did I receive an e-mail saying I have exceeded my storage when I am using less than 1 GB?

    Thanks: our creatives said they would research "with Apple" and let us know next week when we are there for training, so you are correct we probally don't need the Genius Bar, but since we're at the Apple store for training it's good to keep in touch with them as they always have some good tips or advice.
    Plus if they get to know you you seem to get better service

  • Spark list horizontal scroller doesn't actualize when rows is set lesser than list container

    Hello,
    The size of the Image control is set larger than that of its parent Group  container. By default, the child extends past the boundaries of the parent  container. Rather than allow the child to extend past the boundaries of the  parent container, the Scroller specifies to clip the child to the boundaries and  display scroll bars.
    In the spark list, when I change the list dataProvider and the size of the Image control is set lesser than that of its parent Group  container, the horizontal scroller doesn't actualize.
    thanks.

    <!-- Simple example to demonstrate the Spark List component -->
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="comp()" width="260" height="400">
        <fx:Script>
            <![CDATA[
        import mx.collections.*;
        public var dpArray:Array;
        [Bindable]
        public var dpCol:ArrayCollection;
        public function handleClick():void {
            dpCol.removeAll();
            dpCol.addItem({ label:"spark test" });
            dpCol.addItem({ label:"spark text" });
        public function comp():void {
            dpCol = new ArrayCollection(dpArray);
            dpCol.addItem({ label:"spark list horizontal scroller doesn't actualize when rows is set lesser than list container" });
            dpCol.addItem({ label:"spark test" });
            dpCol.addItem({ label:"spark text" });
             ]]>
        </fx:Script>
        <s:Panel title="List">
            <s:VGroup left="20" right="20" top="20" bottom="20">
                <s:List width="200" id="lis" dataProvider="{dpCol}" height="120"/>
                <s:Button id="button1" label="Click here!" width="100" fontSize="12" click="handleClick();"/>
            </s:VGroup>
        </s:Panel>
    </s:Application>

  • Message when sales price is less than cost price

    Hai Guys,
    Is there any standard configuration in SAP which makes the system give a warning when the Sales price is less than the cost. I have seen this feature in some IDES systems, but I am unable to get that feature in my current project. Can somebody help me in thsi regard?
    Regards,
    Maheshwaran. I

    Hi,
    Yes you can also achieve this by doing just some modifications in your pricing procedure :
    Please maintain these settings in VPRS :
    subtotal as B
    requirement 4
    and alternate calculation type as 5
    Then whenever VPRS will be greater than Nett value, system will throw warning message. Please try and revert with feedback.
    Thanks,
    Raja

  • Complete my album not available when balance due is less than 99 cents?

    I was pleased with the "Complete my Album" idea, and I tried to use it over the weekend, but kept getting an error when iTunes was trying to talk to the store. I started out owing something like $4.03 to complete the album, having bought 4 99 cent songs from a $7.99 album.
    I was frustrated by this repeated error over the course of a few hours, so then I gradually started buying the songs one by one. I bought one, and the price dropped to 3.04. Another, and the price went to 2.05, but the album was still available to be completed. I kept going to the point where I would have expected to have 7 cents left to pay for the remaining 3 songs on the album, but then the album no longer shows up as available to be completed.
    I assume they don't want to bother with such a paltry sum, but beware. Even if you are frustrated, don't buy the songs one by one if the balance will get below 99 cents.
    Is this a known limitation?
    iPhone 8GB Other OS

    Complete my album FAQ
    http://docs.info.apple.com/article.html?artnum=305232#faq3
    How is my Complete My Album price calculated?
    Your Complete My Album price is based on the content you previously acquired from iTunes. If you purchased your songs, we adjust the current album price by the retail price you paid for those song(s). If you acquired your content through select, eligible song code promotions, we adjust the current album price by the full retail price of the song(s).
    *Please note that if you previously acquired so many single tracks from the same album that the Complete My Album price would be less than the current price of a single song (a single video for a video album), you will not be able to purchase the remaining tracks using Complete My Album.*

  • Schedule line getting confirmed when Ordered Quanity is greater than stock.

    Hi Sap Gurus,
    We have an issue in one of the sales scenario.
    In one of the sales orders the ordered quanity is purposely maintained greater than the stock at respective storage location(batch managed).
    In this case the schedule line should not get confirmed and it should not allow delivery document creation.
    But in the sales order the schedule lines are geeting confirmed and even the delivery document is getting created with picking request completion.
    Could you please help to understand :
    1.  why the schedule lines are getting confirmed when ordered quantity > Inventory?
    2. How do I stop delivery document creaton in this scenario?
    Looking for a quick response.
    Thanks in advance,
    Bhaskar

    Hello Bhaskar,
    Is Availability Check in your system considering Replenishment Lead time, if yes, then this is possible.
    Check this IMG Link:
    IMG - Sales and Distribution - Basic Functions - Availability Check and Transfer of Requirements - Availability Check with ATP Logic or Against Planning - Carry Out Control For Availability Check
    Here check the RLT settings.
    Also check settings under In/Outward Movements, where things like include Purchase Order can lead to confirmation of stock in Sales Order, despite physical inventory being present.
    Hope this helps,
    Thanks,
    Jignesh Mehta

  • Z key in macbook pro pops up on right side. Little pin on scissor clip underneath has broken. No stress on computer, is this apple covered? Otherwise where do I get a new scissor clip. Less than 3 months old.

    On the Z key, the little scissor clip underneath on the right hand side has two little pointy bits which connect to the key, the top one of these has broken off and the key is barely hanging on, if pushed on the right side of the key, it pops up. I tried to push it back in but it keeps popping up.
    My mac is less than 3 months old. The computer has been treated well and has not been used rough or treated badly, I imagine it's just an accident while typing or a weak clip.
    Is this covered by Apple, if not where do I buy a new clip for under the key? -

    u can give try to using external enclosre and backup ur files. I hope u will get files back. or using external enclosre with ur hdd boot into Linux and try to mount ur harddisk.
    there are multiple no of tutorial to mount apple partion in Linux.

  • Time Machine wants 16 days to do an initial backup.  ps shows PRI = 33 with NI = 0.   But I can not get sudo renice to set PRI less than 15.  And renice sets NI directly with strange behavior for PRI. Any suggestions?

    Time Machine said it would take 16 days to do an initial backup, and indeed, after many days it is less than a quarter done.   (The problem started when I put in a new bank disk for Time Machine to write to for its backup file.)
    Activity Monitor shows that the process name is   backups   with Process ID   6060.
    Then putting this PID in Terminal UNIX command ps gave:
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS ...
        0  6060     1  1004004   0  33  0  2556488  29040 ...
    Wow!  A priority of 33! 
    Don't know how that happened, but the way to fix that (I thought) is with renice. 
    But renice doesn't work.
    After a lot of playing with renice and ps, it looks as though renice can not make the priority better than (no less than) 15.
    And the parameter you put in, that according to the man page that is supposed to be priority, turns out to be "nice index", with priority changed by sometimes subtracting or sometimes adding either this number or twice this number - down to a limit of priority no less than 15.
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS ...
        0  6060     1  1004004   0  33  0  2556488  29040 ...
    EdsMacPro-1:~ ed$ sudo renice 5 -p 6060
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS  ...
        0  6060     1  1004004   0  28  5  2555964  29028  ...
    EdsMacPro-1:~ ed$ sudo renice -5 -p 6060
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS  ...
        0  6060     1  1004004   0  38 -5  2555964  29028  ...
    EdsMacPro-1:~ ed$ sudo renice -15 -p 6060
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS  ...
        0  6060     1  1004004   0  48 -15  2555964  29028 ...
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS  ...
        0  6060     1  1004004   0  48 -15  2555964  29028 ...
    EdsMacPro-1:~ ed$ sudo renice -n -5 -p 6060
    EdsMacPro-1:~ ed$ ps -l -p 6060
      UID   PID  PPID        F CPU PRI NI       SZ    RSS  ...
        0  6060     1  1004004   0  53 -20  2555964  29028 ...
    EdsMacPro-1:~ ed$
    This is with OSX 10.7.5 and Terminal 2.2.3 on an early 2009 Mac Pro with lots of memory.
    What am I dong wrong, and any suggestions for how to fix my Time Machine process?

    The backup file size is 1.67 TB.*
    That's across the internal bus of a 2009 quad-core Mac Pro - which is pretty fast.
    Copying an hour's worth of MPEG-2 HD takes about a minute.
    I do a fresh backup from scratch about once a year, and the last time it finished over night.
    This time the first Time Machine backup is only about 1/5 complete after many days, and Activity Monitor shows essentially no use of disk drives or of CPU.  And in the first note I pointed out what is gleaned by using Terminal to execute the UNIX ps command. The priority of the running Time Machine process looks incorrect to me. 
    I could be wrong, but I think the problem is process priority, not file size.
    I am unable to set priority to 0 or a negative number.  Can someone straighten me out on how to do that?
    [*The machine has four 1.5 TB disk drives in it plus lots of memory.  Two of the physical drives are configured as one 3 TB backup drive (RAID concatanated).]

  • Hide/disable a row of a list when "date" column is less than today's date.

    Hi,
    We are using a "Finalsubmitted" date column in my list. my requirement is once that date of Finalsubmitted column is expired(less than today's date), total row should be in hide/disable mode.Could you help me to achieve this.
    Thanks.

    that is a drop down, showing the results from another list based on our selection.
    We have used SP services for that.
    But, date conversion is wrong on  var pubdate= new date(dateselected.value) line.
    It is showing "NaN(Not a number)" . date format it is giving DDMMYYYY.
    But, i need MMDDYYYY. How can we convert in JavaScript.
    Plz check below code.
    <script language="javascript" type="text/javascript">
    $(document).ready(function()
    today = new Date();
    getTagFromIdentifierAndTitle("select","Lookup","Dates").onchange = function() {ChangeEvent1()};
    function ChangeEvent1()
    var dateSelected = document.getElementById("Dropdown ID");
    var pubdate = new Date(dateSelected.value);
    if(pubdate<=today)
    $("input[value$='Save']").attr('disabled', true); //button hides
    alert("Publishing Date should be greater than Today's Date");
    else
    $("input[value$='Save']").attr('disabled', false); //button shown
    function getTagFromIdentifierAndTitle(tagName, identifier, title) {
    var len = identifier.length;
    var tags = document.getElementsByTagName(tagName);
    for (var i=0; i < tags.length; i++) {
    var tempString = tags[i].id;
    if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
    return tags[i];
    return null;
    }</script>

  • I am getting poor wifi,  about fifty percent less than original iPad  with the new iPad.  Why?

    What can I do to get the new iPad wifi to be more effective.  It is 50% less effective.

    Look at iOS Troubleshooting Wi-Fi networks and connections  http://support.apple.com/kb/TS1398
    Additional things to try.
    Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
    Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
    If none of the above suggestions work, look at this link.
    iPad Wi-Fi Problems: Comprehensive List of Fixes
    http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
     Cheers, Tom

  • When finalizing iMovie with less than a minute an error message said can not publish because project is already open!

    My question is I get error message when finalizing imove projects saying "can not plublish your project with an open project"
    Where do I find this open project?
    Thanks
    John

    It seems like there's a number of these being posted all around the iMovie Discussion Group. So the solution posted most recently that seems to work for the largest number of people is this:
    This requires using the Terminal app, in your Applications/Utilities folder
    To turn off Time Machine snapshots type in the following command:
    sudo tmutil disablelocal
    The Mac will likely ask for your password, so type it in and hit the return key. The type the word, exit and hit return. Quit Terminal.

  • Application is getting crash when recording long time( more than 1hour 30m)

    Implemented a Java app to record audio & video .
    For audio recording - Java Sound , video - writing all captured images to one file by capturing images using java.awt.Robot class
    Generating video file using JMF from captured images.
    Once clicked on stop button, I am merging audio & video files using JMF .
    But Here the problem is if I record more than 1hr 30min then I clicked on STOP button, then the app is crashing.
    I am not getting any out of memory or some other exceptions.
    Please suggest.
    Thanks
    GRR

              * This is called from the Processor to read a frame worth of video data.
              public void read(Buffer buffer) throws IOException
                   logger.debug(" read(): nextImage = " + nextImage + ",numOfFrames : "+RecordingConverter.numOfImages);
                   if (nextImage >= numOfImages)
                        start = System.currentTimeMillis();     
                        // We are done. Set EndOfMedia.
                        logger.debug("Done reading all images.");
                        buffer.setEOM(true);
                        buffer.setOffset(0);
                        buffer.setLength(0);
                        buffer.setFormat(format);
                        ended = true;                         
                        return;
                   nextImage++;
                   int imageSize = EndianFormat.readInt(recFile);
              byte data[] = new byte[imageSize];           
              recFile.readFully(data);           
                   buffer.setData(data);
                   buffer.setOffset(0);
                   buffer.setLength(data.length);
                   buffer.setFormat(format);
                   buffer.setFlags(buffer.getFlags() | Buffer.FLAG_KEY_FRAME);     
              }

  • Why does it say that my camera roll takes up 5.5GB of space on my iPhone when I only have less than 100 photos in my camera roll and none in photo stream

    When I try to delete photos and music off my phone to create more space, it still says that my photos take up 5.5 GB of space but there are none in my phone

    Have you synched your phone to iTunes lately?   Maybe there is a corrupted sync that needs to be cleaned up.

  • How to create a topic with link attached when my post is less than 5

    Hi all,
    I was unable to post a forum due to the following error:
    "You can only use links to eclipse.org sites while you have fewer than 5 messages"
    Any workaround for this limitation?

    Change the link to be hxxp:// instead of http://
    Then you can use "Report message to a moderator" (located near the bottom-right corner of message) to request that the link be edited as a "real" one.

  • How to get data occured on less than 12 months gap, please

    Hello Good Afternoon,
    How can i get ssns that are occured in less than 12 month period
    create table #mytemp (SSN varchar(9), planID vcarchar(8), period varchar(7))
    Insert Into #mytemp values ('123456789', '200R1','2013-04')
    Insert Into #mytemp values ('123456789', '200R5','2014-09')
    Insert Into #mytemp values ('123456789', '200R1','2012-05')
    Insert Into #mytemp values ('123456789', '200R3','2013-11')
    Insert Into #mytemp values ('123456789', '200R1','2014-01')
    Insert Into #mytemp values ('213456789', '400R1','2014-04')
    Insert Into #mytemp values ('213456789', '400R5','2014-09')
    Insert Into #mytemp values ('213456789', '400R1','2013-05')
    Insert Into #mytemp values ('213456786', '700R5','2014-05')
    Insert Into #mytemp values ('213456786', '400R1','2013-05')
    Insert Into #mytemp values ('215556786', '400P1','2013-05')
    i am trying to get the below two results
    1) How to find out the duplicate SSN's that were having period of less than 12 month difference
    2) How to find out the duplicate SSN's that were having period of less than 12 month difference with same planID
    Please Help me
    expected results for Query 1
    create table #ans1 (SSN varchar(9))
    Insert Into #ans1 values ('123456789')  --- had more than one record in 12 month span
    Insert Into #ans1 values ('213456789')  --  had more than one record in 12 month span
    expected results for Query 2
    create table #ans2 (SSN varchar(9))
    Insert Into #ans2 values ('123456789')  --- had more than one record in 12 month span for plan 200R1
    Please help me here with your valuable advise
    Thank you in Advance
    Milan

    1) How to find out the duplicate SSN's that were having period of less than 12 month difference
    2) How to find out the duplicate SSN's that were having period of less than 12 month difference with same planID
    Below is one method.  The second query also returns '213456789' because your sample data has more than one row for planID 400R1 within 12 months.
    SELECT DISTINCT
    a.SSN
    FROM #mytemp AS a
    WHERE EXISTS ( SELECT *
    FROM #mytemp AS b
    WHERE b.SSN = a.SSN
    AND CAST(b.period + '-01' AS date) > CAST(a.period
    + '-01' AS date)
    AND CAST(b.period + '-01' AS date) < DATEADD(YEAR, 1,
    CAST(a.period
    + '-01' AS date)) );
    SELECT DISTINCT
    a.SSN
    FROM #mytemp AS a
    WHERE EXISTS ( SELECT *
    FROM #mytemp AS b
    WHERE b.SSN = a.SSN
    AND b.planID = a.planID
    AND CAST(b.period + '-01' AS date) > CAST(a.period
    + '-01' AS date)
    AND CAST(b.period + '-01' AS date) < DATEADD(YEAR, 1,
    CAST(a.period
    + '-01' AS date)) );
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

Maybe you are looking for