Out of Memory: ResultSet.getBytes accounts for 24,000 allocations of byte[]

Hi,
We are using Weblogic6.0 deployed on Win NT
There is a query in one of our classes which returns the Catalog Items from the
d/b. We have 2000 Catalog Items in the database. When w144 users concurrently
try to retrieve this data we run out of memory.
We used Jprobe for profiling this, the maximum memory is being consumed by the
byte[] (64,766,540 Bytes, 40,570 allocations) ,it is consuming 80% of memory.
The maximum allocations(24,552 allocations) are being made at TdsEntry.getBytes
(which actually is from ResultSet.getBytes).
I am very curious as to why so many byte[] are being allocated which are not being
released.
(Our each Catalog Item has size of 100 bytes , so 100*14*2000 = 2800kB which is
approx 2.8 MB)
Any help is appreciated
Thanks and Regards
Rashmi

Hi. I am sure we will look into whether there is anymemory wastage in our
driver. You should repeat the test using someone else's driver too. This
application seems to be crying out for a better way. Unless the catalog
is changing by the instant, it would be much more efficient to have
a serverside class that occasionally went to the DBMS and got the latest
contents of the catalog, and have all your user classes go to this class
to share the one in-memory copy.
Joe Weinstein at B.E.A.
Rashmi S wrote:
Hi,
We are using Weblogic6.0 deployed on Win NT
There is a query in one of our classes which returns the Catalog Items from the
d/b. We have 2000 Catalog Items in the database. When w144 users concurrently
try to retrieve this data we run out of memory.
We used Jprobe for profiling this, the maximum memory is being consumed by the
byte[] (64,766,540 Bytes, 40,570 allocations) ,it is consuming 80% of memory.
The maximum allocations(24,552 allocations) are being made at TdsEntry.getBytes
(which actually is from ResultSet.getBytes).
I am very curious as to why so many byte[] are being allocated which are not being
released.
(Our each Catalog Item has size of 100 bytes , so 100*14*2000 = 2800kB which is
approx 2.8 MB)
Any help is appreciated
Thanks and Regards
Rashmi

Similar Messages

  • HT2589 My account is blocked out. I registered my account for Russia because there was no that option for Ukraine. And now I can't do any purchasing, because apple store want's another payment option. What should I do? Ps my friends here has such a proble

    My account is blocked out. I registered my account for Russia because there was no that option for Ukraine. And now I can't do any purchasing, because apple store want's another payment option. What should I do? I have many apps on my account but I can't do even updating.  Ps my friends here has such a problem too

    Ukraine is there. It's been there for a while. I even see it now.

  • Problem: Out-of-memory condition? : waiting for an available stack

    Hello,
    I'm evaluating jrockit and trying to run in ita java application that I normally
    run with the Sun JVM on WinXP.
    After a few seconds I get the message "Out-of-memory condition? : waiting for
    an available stack".
    I'm running it on an Intel machine, WindowsXP 392Mb RAM.
    I have played with different GC options, heap, stack size, native/thinthreads
    but it always stops around the same point. When I turn -Xverbose:codegen on I
    can see that it's trying to compile a method in my own security manager. The message
    is something like that:
    [codegen] 500 84732 5169 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [codegen] 500 84732 5170 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [codegen] 500 84732 5171 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [JRockit]Out-of-memory condition? : waiting for an available stack
    It looks as though it's in a loop.
    This is the code for this method (the super class of the containing class is SecurityManager):
    public void checkRead(String fileName, Object context) {
    try {
    if(context==null) {
    super.checkRead(fileName);
    } else {
    super.checkRead(fileName, context);
    } catch (SecurityException ex1) {
    // If a file in the persistent storage is accessed we need to consider additional
    MAC/DAC possibilities
    ServiceDomainIdentifier sdi;
    sdi=ServiceDomainIdentifierManager.getInstance().get(fileName);
    FileSystem filesys=(sdi==null)?null:sdi.getFileSystem();
    if(filesys!=null && !filesys.checkReadPermission(fileName)) {
    throw ex1;
    I also use many native methods in different libraries.
    Any ideas?
    Thanks,
    Sibelius

    Hello Staffan,
    Thanks for the info. I had v1.4.1_05 and I have now installed v1.4.2_03.
    Unfortunately, the error still happened at the same point in the code, although
    much earlier on, but this time no message was displayed. It was just stuck there.
    However, I changed the code a little bit (I put the catch block in another private
    function) and now everything works. I'm writing the different snippets down. Perhaps
    it would be interesting to find out why it behaves this way.
    So, can you tell why this code won't works?
    public void checkRead(String fileName, Object context) {
    try {
    if(context==null) {
    super.checkRead(fileName);
    } else {
    super.checkRead(fileName, context);
    } catch (SecurityException ex1) {
    ServiceDomainIdentifier sdi;
    sdi=ServiceDomainIdentifierManager.getInstance().get(fileName);
    FileSystem filesys=(sdi==null)?null:sdi.getFileSystem();
    if(filesys!=null && !filesys.checkReadPermission(fileName)) {
    throw ex1;
    But if I write it like following, it works!
    public void checkRead(String fileName, Object context) {
    try {
    if(context==null) {
    super.checkRead(fileName);
    } else {
    super.checkRead(fileName, context);
    } catch (SecurityException ex1) {
    myFunction(fileName,ex1);
    private void myFunction(tring fileName, SecurityException ex1) {
    ServiceDomainIdentifier sdi;
    sdi=ServiceDomainIdentifierManager.getInstance().get(fileName);
    FileSystem filesys=(sdi==null)?null:sdi.getFileSystem();
    if(filesys!=null && !filesys.checkReadPermission(fileName)) {
    throw ex1;
    Thank you!
    Sibelius
    Staffan Larsen <[email protected]> wrote:
    You didn't mention which version of JRockit this happens with (java
    -version). I would suggest you upgrade to JRockit 1.4.2 if you haven't
    already.
    Regards,
    /Staffan
    Sibelius Segala wrote:
    Hello,
    I'm evaluating jrockit and trying to run in ita java application thatI normally
    run with the Sun JVM on WinXP.
    After a few seconds I get the message "Out-of-memory condition? : waitingfor
    an available stack".
    I'm running it on an Intel machine, WindowsXP 392Mb RAM.
    I have played with different GC options, heap, stack size, native/thinthreads
    but it always stops around the same point. When I turn -Xverbose:codegenon I
    can see that it's trying to compile a method in my own security manager.The message
    is something like that:
    [codegen] 500 84732 5169 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [codegen] 500 84732 5170 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [codegen] 500 84732 5171 de.irt.mhp.security.MySecurityManager.checkRead(Ljava.lang.String;Ljava.lang.Object;)V:
    7583.59 ms
    [JRockit]Out-of-memory condition? : waiting for an available stack
    It looks as though it's in a loop.
    This is the code for this method (the super class of the containingclass is SecurityManager):
    public void checkRead(String fileName, Object context) {
    try {
    if(context==null) {
    super.checkRead(fileName);
    } else {
    super.checkRead(fileName, context);
    } catch (SecurityException ex1) {
    // If a file in the persistent storage is accessed we need toconsider additional
    MAC/DAC possibilities
    ServiceDomainIdentifier sdi;
    sdi=ServiceDomainIdentifierManager.getInstance().get(fileName);
    FileSystem filesys=(sdi==null)?null:sdi.getFileSystem();
    if(filesys!=null && !filesys.checkReadPermission(fileName)) {
    throw ex1;
    I also use many native methods in different libraries.
    Any ideas?
    Thanks,
    Sibelius

  • Out of Memory - Indesign 2.02 for Windows

    Hello.
    Probably been asked before but how do you resolve the "out of memory" (clipping path) problem when you are using InDesign for Windows? - see that there is a fix for Mac but can't find one for Windows 7 - is there a downloadable update available?
    Regards,
    Harvey

    Bob.
    Thanks for that - expect that I will have to bite the bullet and upgrade - just got used to using the older version and because of limited time commitments, didn't want to spend ages having to learn to use a new programme all over again!
    Regards,
    Harvey

  • Javascript "out of memory" error when publishing for HTML5

    I've created a Flash animation using the "HTML5 Canvas" format in Flash Pro CC. When I publish the file,  I get the following cryptic error:
    While executing main.jsfl, the following Javascript error(s) occurred:
    At line 56 of file "Publish.jsfl":
    out of memory
    I have no idea what this means. I have a brand new 27" iMac running OSX Mavericks, with 16GB of memory. I tried restarting the computer and still get the error. It's a two-minute animation with quick cuts between about twenty different short little shots/scenes. The file exports fine as a .mov video file, for example, so I don't understand why it says I don't have enough memory.
    Any help would be greatly appreciated. Thanks!

    If you get that error that quickly that sounds pretty suspect to me as well.
    When you rendered your .mov did you set it to render in RAM or Disk from the settings during export? If you rendered it in RAM, something else is going on.
    If there's nothing proprietary in the animation I'd be happy to try to export it on Windows to isolate it to a potential OSX issue. I have a 16GB and 32GB system with Win64 Flash CC on it I can try. Just post a link or private message a link and I'll give it a try.
    Typically export issues are related to ADT limited to 128MB ram by default but it doesn't seem likely CreateJS or JSFL would utilize it. Just for fun you may want to increase the default size of the JVM at this path:
    /Users/<user>/Library/Application Support/Adobe/Flash CC/<language>/Configuration/ActionScript 3.0/jvm.ini
    Close Flash, open that file, increase the value from 128 to say, 384:
    -Xmx384m
    Save the file, restart Flash. See if it can export.

  • Usage showing more memory than is accounted for

    how do i get rid of 'other' storage bloating?

    Other is email, text messages, and the stuff that apps use in the background, like when you save your place in a game.  You can try deleting old email and text messages.  Specifically if people send you pictures in text messages and as attachments. 
    Other than that, yes you need to restore your phone as new and do not restore from a backup, the backup will put the "Other" stuff right back on your phone.

  • JNI and Out of Memory errors

    Hi,
    At my job, we seem to have a memory leak related to JNI. We know we
    have a memory leak because we keep getting Out of Memory errors even
    after increasing the maximum heap size to more than 256 megs. And we
    know that this is the application that is eating up all the system
    memory.
    We are running under Windows 2000, with both JDK 1.3.0 and JDK 1.4.1.
    We tried looking at the problem under JProbe, but it shows a stable
    Java heap (no problems, except that the Windows task manager shows it
    growing and growing...)
    I tried a strip down version, where I set the max heap size to 1 Meg,
    and print out the total memory, memory used, and maximum memory used at
    a 5 sec interval.
    Memory used = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory().
    Well, I let that strip down version running for about a day. The
    maximum memory used has stabilized to about 1.1 Meg, and has not
    increased. The current memory used increases until it gets to some
    threshold, then it decreases again. However, the Windows task manager
    shows the memory increasing -- and currently it is at 245 Megs!
    In the lab, the behavior we see with the Windows task manager is as
    follows:
    1. Total memory used in the system increases until some threshold.
    2. Then it goes back down by about 100 Megs.
    3. This cycle continues, but at each cycle the memory goes back down
    less and less, until the app crashes.
    Now, our theory is that JNI is consuming all this memory (maybe we are
    using JNI wrong). That's the only explanation we can come up with to
    explain what we have seen (Java showing an OK heap, but the task
    manager showing it growing, until crashing).
    Does that make sense? Can the new operator throw an Out of Memory
    error if the system does not have enough memory to give it, even if
    there is still free heap space as far as the Runtime object is
    concerned? Does the Runtime object figures objects allocated through
    JNI methods into the heap used space?
    Note that I know the task manager is not a reliable indicator.
    However, I don't think a Java app is supposed to runaway with system
    memory -- the problem is not simply that the Java app is consuming too
    much memory, but that it seems to always want more memory. Besides, we
    do get the Out of Memory error.
    Thanks for your help,
    Nicolas Rivera

    Hi,
    there are two sources of memory leakage in JNI:
    - regular leaks in c/c++ code;
    - not released local/global references of java objects in JNI.
    I think that the first issue in not a problem for you. The second is more complex. In your JNI code you should check
    - how many local references alive you keep in your code as their number is restricted (about 16 and can be enlarged). The good style is not to store local references but keep only global.
    - any local reference accepted from java call in JNI are released by JVM. You should release local references you created in JNI and also global references.
    - do not use a large number of java object references. Each new reference gets new memory in JVM. Try to reuse refences.
    I guess that is your problem.
    Vitally

  • HT2731 I have 2 apple iPods on the same account, And they have the Same songs on them. How can I get a new account for one of them but not the other? Can I wipe the memory of 1? How would I do that?

    I have 2 iPods one I don't use anymore. I would like to make a new account for one but not the other. Is that possible? If I wipe the memory in one will the other wipe out too? How can I do all of this?

    You don't have to do anything with the first iPod that you don't use anymore. If you are planning on keeping it, put in a drawer in your house and forget about it.
    You don't need a second account to use with the new iPod. I use one Appl e ID and iTunes library for two iPods, and two iPad. I have different content on all four devices. You can select exactly what you want to sync to each device and it can be different content on all devices.

  • I've a few issues, my old computer was out of memory and i changed to a new one which was already on another itunes account.  When i upgraded to os5 my library has gone it has synced with the new computer - how do i restore the old ipad information?  ple

    I've a few issues, my old computer was out of memory.  I changed to a new one which already had another itunes account (for my business)  when i upgraded to os5 my library has dissappeared as it has syncd with the new computer.  Is there any way i can restore the information previously from my ipad?  really appreciate any advice thanx in advance

    Lynda-
    If you still have the old computer, you should be able to connect the iPad, run iTunes and restore from a backup from a previous sync.  Now that you have it updated, you will not need to do that again.
    Fred

  • My MacBook Air tells me I'm out of memory.  to my knowledge I use only 65 GB for documents, photos, videos, apps, and it tells me that 75 GB is taken by "other"  What is in other, and how can I fix it?

    my MacBook Air tells me I'm out of memory.  to my knowledge I use only 65 GB for documents, photos, videos, apps, and it tells me that 75 GB is taken by "other"  What is in other, and how can I fix it?

    For information about the Other category in the Storage display, see this support article. If the Storage display seems to be inaccurate, try rebuilding the Spotlight index.
    Empty the Trash if you haven't already done so. If you use iPhoto, empty its internal Trash first:
              iPhoto ▹ Empty Trash
    Do the same in other applications, such as Aperture, that have an internal Trash feature. Then restart the computer. That will temporarily free up some space.
    According to Apple documentation, you need at least 9 GB of available space on the startup volume (as shown in the Finder Info window) for normal operation—not the mythical 10%, 15%, or any other percentage. You also need enough space left over to allow for growth of the data. There is little or no performance advantage to having more available space than the minimum Apple recommends. Available storage space that you'll never use is wasted space.
    When Time Machine backs up a portable Mac, some of the free space will be used to make local snapshots, which are backup copies of recently deleted files. The space occupied by local snapshots is reported as available by the Finder, and should be considered as such. In the Storage display of System Information, local snapshots are shown as  Backups. The snapshots are automatically deleted when they expire or when free space falls below a certain level. You ordinarily don't need to, and should not, delete local snapshots yourself. If you followed bad advice to disable local snapshots by running a shell command, you may have ended up with a lot of data in the Other category. Ask for instructions in that case.
    See this support article for some simple ways to free up storage space.
    You can more effectively use a tool such as OmniDiskSweeper (ODS) or GrandPerspective (GP) to explore the volume and find out what's taking up the space. You can also delete files with it, but don't do that unless you're sure that you know what you're deleting and that all data is safely backed up. That means you have multiple backups, not just one. Note that ODS only works with OS X 10.8 or later. If you're running an older OS version, use GP.
    Deleting files inside an iPhoto or Aperture library will corrupt the library. Any changes to a photo library must be made from within the application that created it. The same goes for Mail files.
    Proceed further only if the problem isn't solved by the above steps.
    ODS or GP can't see the whole filesystem when you run it just by double-clicking; it only sees files that you have permission to read. To see everything, you have to run it as root.
    Back up all data now.
    If you have more than one user account, make sure you're logged in as an administrator. The administrator account is the one that was created automatically when you first set up the computer.
    Install the app you downloaded in the Applications folder as usual. Quit it if it's running.
    Triple-click anywhere in the corresponding line of text below on this page to select it, then copy the selected text to the Clipboard by pressing the key combination command-C:
    sudo /Applications/OmniDiskSweeper.app/Contents/MacOS/OmniDiskSweeper
    sudo /Applications/GrandPerspective.app/Contents/MacOS/GrandPerspective
    Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window by pressing command-V. You'll be prompted for your login password, which won't be displayed when you type it. Type carefully and then press return. You may get a one-time warning to be careful. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator. Ignore any other messages that appear in the Terminal window.
    The application window will open, eventually showing all files in all folders, sorted by size. It may take a few minutes for the app to finish scanning.
    I don't recommend that you make a habit of doing this. Don't delete anything as root. If something needs to be deleted, make sure you know what it is and how it got there, and then delete it by other, safer, means. When in doubt, leave it alone or ask for guidance.
    When you're done with the app, quit it and also quit Terminal.

  • How do I create a new account for an iPod that is on an existing account?  My brother and I have shared an account for five years, and now that I'm moving out, I want to create my own account but still want to be able to play the music I've purchased.

    My brother and I have shared an account for five years, and now that I'm moving out, I want to create my own separate account but still want to be able to play the music I've purchased over five years. 

    In order to continue to play and sync the music you purchased with your old account, you'll need to authorize your new computer/iTunes library to do so.  You can do this by choosing Store -> Authorize This Computer and then entering in your old account credentials.
    That's all you should need to.  Then just create your own account and start purchasing and using it the same you have with the old one.
    B-rock

  • Apple tech helped me 60 min ago. Told me to create new account for wife. Wiped out her ipod music--now iTunes wont let me download it in her new account so I can restore her music!  Help!!

    Today an Apple tech helped me 60 min ago. Although my wife and I have diff apple ID's, our music was mixing and syncin back and forth.  The tech told me to create new comp user account for wife which I did. I wiped out everything on her ipod and signed in under her ID.  When I tried to put it back I got a message that I couldn't download her purchased music for 90 days because there was another apple ID associated with my computer.  Not sure wether that means mine or hers.  What I am sure of is that I'm dead if I can't get her music back.  Please help.  Thanks,  Craig

    I can understand how that would be frustrating. If you created a brand new Apple ID for her, your Apple ID should not have been affected any more than anyone else's. They are as separate from one another as your Apple ID is from mine.
    Since you just bought your MacBook Air, you can certainly contact AppleCare for this, and I encourage you to do so. They will straighten it out.
    Until then, if you want to troubleshoot this on your own, sign in to your Apple ID here:
    https://appleid.apple.com/
    Click the blue "Manage your Apple ID" button. If it says it no longer exists or gives you other hassles, it's probably not worth your effort to pursue. Have Apple fix it.
    Contact Apple starting with this link - never Google it: http://www.apple.com/support/
    Navigate the pages as follows:
    Under "Contact Us" click the blue "Contact Support" link
    Click the blue "Get Started" button
    Click "More Products & Services"
    Click "Apple ID"
    Click "iTunes Store, App Store or Mac App Store"
    Continue with the appropriate options and choose the contact method most convenient for you.

  • I seem to not enter the correct answers to my security questions for itunes to buy an in-app purchase and also cannot answer the questions exactly like i answered them when creating the account for my ipod, how do i find out what answers i put

    I seem to not enter the correct answers to my security questions for itunes to buy an in-app purchase and also cannot answer the questions exactly like i answered them when creating the account for my ipod, how do i find out what answers i put for my ipod touch and itunes?

    Try these previous discusssions:
    recover answers to security questions: Apple Support Communities
    how do i change apple ID security...: Apple Support Communities

  • Transferring purchases out of my iTunes account and into new accounts for my kids

    I have had an itunes account for a number of years.  My children (when younger) purchased music, games, videos, etc through this account for the ipods, itouches, etc.  We now have iphones for each teen and would like to give them their own accounts so that only their purchases appear on their phones, ipods, etc and only mine appear on my phone, ipad, etc.  I would set up 2 new accounts and transfer the items directly from mine into the appropriate child's account.  How do I accomoplish this?  Since we own the purchase, I dont see any reason why we should not be able to move that purchase into another account (not copying it, but more like cutting it out of the existing account and moving it into the new one).  If we are not able to do this, we are talking about hundreds of dollars in re-purchases.

    You canot transfer content to another account.
    Just authorize their computers for your account so they can sycn the apps to their devices.

  • I have an ipod touch but i don't have enough memory and 0I get an upgrade soon for my phone and i want the iphone but the thing is, can i have an ipod touch and an iphone on the same itunes account like can i use my money on my ipod account for my iphone

    I have an ipod touch but i don't have enough memory and 0I get an upgrade soon for my phone and i want the iphone but the thing is, can i have an ipod touch and an iphone on the same itunes account like can i use my money on my ipod account for my iphone

    Your iPhone and iPod can share the same iTunes account.  Apps can be freely shared and used by one or both devices.  You can't use money in your iTunes account to pay for your phone, but purchased apps can be used by both the iPod and iPhone.

Maybe you are looking for

  • The operation can't be completed because an unexpected error occurred (error code -8058).

    Hi Everyone, I am keep getting this error when I try to copy a file or folder to my desktop even though I can create a new folder on desktop. I have tried copying a single file and folder with multily files in it but still getting same error. I have

  • How to validate a datetime in a string

    Hi Team, I have a string,How can i validate whethere the string contains a valid datetime or not ? Thanks in advance. Regards Subrat

  • Multiple Receiver Interface in integrated config(AAE)

    Hello Experts, We have a SOAP to RFC synchronous interface.There is a requirement where we have a Single Sender interface(Single Sender System) and based on the value in Payload we have to select either of two different Receiver RFC interface(Single

  • Hard Drive Backup

    I have 3 internal drive in my G4, how do I configure it to automaticaly backup Drive to Drive 1?

  • Corrupt Contacts File in Photoshop Elements?

    I recently converted from Photoshop elements 8 to elements 11.  In elements 8, I found that I couldn't add or delete any contacts info, even when I tried to do it manually.  I just converted to elements 11 and am having the same problem.  Can anyone