6 Replies Latest reply: Jan 10, 2014 3:23 PM by User437258 RSS

    Memory Consumption: Start A Petition!


      I am using SQL Developer Build MAIN 13.80.  I was praying that SQL Developer 4.0 would no longer use so much memory and, when doing so, slow to a crawl.  But that is not the case.


      Is there a way to start a "petition" to have the SQL Development team focus on the products memory usage?  This is problem has been there for years now with many posts and no real answer.


      If there isn't a place to start a "petition" let's do something here that Oracle will respond to.


      Thank you

        • 1. Re: Memory Consumption: Start A Petition!
          Jeff Smith Sqldev Pm-Oracle

          How much memory do you have on your machine, and how much is memory is Java VisualVM (avail in your JDK bin directory) showing SQL Developer to be consuming?


          I've had SQLDev 4 open for several days on my Win7x64 box with 8GB of RAM and it's currently using 117MB of memory.


          It's remained responsive.


          I'm not saying we're memory-lean, but we DO put focus on the performance of the tool.

          • 2. Re: Memory Consumption: Start A Petition!

            The machine has 6GB.  It is running Windows 7.  According to Windows Task Manager SQL Developer is taking 521,460K.  According the Java VisualVM the application has the following:


            1. Used: 316,413,872 B

            2. Size: 409,468,928 B

            3. Max: 838,860,800 B


            This is after restarting SQL Developer when Task Manager reported it was taking over 1 GB of memory and SQL Developer was pausing for multiple seconds between mouse clicks and key strokes.  I did not check the Java VisualVM stats before restarting SQL Developer.


            Thank you

            • 3. Re: Memory Consumption: Start A Petition!
              Jeff Smith Sqldev Pm-Oracle

              316MB isn't crazy depending on what you're doing. How many open query resultset grids or table/view grids do you have open? How many connections do you have open? How many documents do you have open?


              How much free memory is on your machine, out of the 6GB?


              Windows Task Manager routinely 'lies' about memory consumption for java applications, so the VisualVM tool is better when talking real numbers.

              • 4. Re: Memory Consumption: Start A Petition!

                Yes, at this point (after restarting) SQL Developer is functioning fine.  Windows reports 1+ GB of free memory.  I have 3 worksheets open all connected to two different DB connections.  Each worksheet has 1 to 3 pinned query results.  My problem is that after working in SQL Developer for a a day or so with perhaps 10 worksheets open across 3 database connections and having queried large data sets and performing large exports it becomes unresponsive even after closing worksheets.  It appears like it does not clean up after itself to me.


                I will use Java VisualVM to compare memory consumption and see if it reports that SQL Developer is releasing memory but in the end I don't care about that.  I just need a responsive SQL Developer and if I need to close some worksheets at times I can understand doing so but at this time that does not help.

                • 5. Re: Memory Consumption: Start A Petition!
                  Jeff Smith Sqldev Pm-Oracle

                  Don't leave grids open, esp after querying large amounts of records - those take memory. Java 7 does a better job with garbage collection, but there are some jvm flags you can set to try to force things along a bit if you run into issues.

                  • 6. Re: Memory Consumption: Start A Petition!

                    Ok.  I watched the memory using Windows task mgr and the Java VisualVM tool.  I ran a large export and saw the task mgr report go up to 688MB and stay there.  The VisualVM tool went up to 562MB for the heap and stay there while the "used" amount went up to 341MB but went down to 155 and then back up again over a period of 5 minutes.  I then closed the query result tab and saw no difference.  I then closed the worksheet and saw no difference.  I then pressed the Perform GC button in the VisualVM tool and saw the "used" memory go down to ~155MB and then over the course of 5 minutes raise back to 350MB and climbing.  All this time Windows reports less and less free memory.


                    So I can't say I see any benefit in closing worksheets or query results.