This really depends on the GC parameters specified to the JVM.   I have not 
found (so far) that Derby has a memory leak with my setup and mix of 
operations.   The JVM you are using will have many different options on the GC 
parameters, algorithms, etc..   Do a search on JVM tuning and you will find 
many pages describing these.   I currently am in the process of trying the 
various combinations for my setup as my situation cannot tolerate long (more 
than 5 second) GC pauses, so I need to tune for low pause times at the expense 
of throughput.

On Jun 10, 2014, at 4:41 AM, Chris Olver <chris.ol...@3plearning.com> wrote:

> Hi Brett,
> 
> Many thanks for your help, VisualVM showed up the issue and you were indeed 
> correct.. It was ignoring the commands of increasing the heap. I have now got 
> a fresh version of the startNetworkService and made the necessary changes. It 
> now runs well.. One question from this experience, using VisualVM I can see 
> over multiple hours the HeapSpace continues to grow and doesn't garbage 
> collect. Is there a setting or timer which can garbage collect the heap more 
> frequently? 
> 
> Kind regards,
> 
> Chris Olver
> 
> 
> 
> 
> -----Original Message-----
> From: Bergquist, Brett [mailto:bbergqu...@canoga.com] 
> Sent: 06 June 2014 23:21
> To: Derby Discussion
> Subject: RE: Apache Derby - Locks up.
> 
> Maybe connect up with jvisualvm to the process and see what it is reporting.  
>   Jvisualvm will show the environment of the process.    Since you are 
> specifying both a -Xmx and -Xms, the heap should be initially allocated to 
> your 6G and never grow or shrink.  Jvisualvm will show if that is it is doing 
> so.
> 
> It seems strange that it is requiring so much memory.   Yes your row count is 
> high but I have tables in my database that are regularly 10M records that are 
> queried every 5 minutes with no issue and I can do so with a much smaller 
> memory setting (4G is what I am using in testing).
> 
> Derby can work in an environment like this as one system that we have has 
> tables that are inserted into about 10M records/day with no issues.
> 
> -----Original Message-----
> From: Chris Olver [mailto:chris.ol...@3plearning.com] 
> Sent: Thursday, June 05, 2014 11:42 PM
> To: Derby Discussion
> Subject: RE: Apache Derby - Locks up.
> 
> Just before it locked up, I managed to get this:
> 
> --- Derby Network Server Runtime Information ---
> ---------- Session Information --------------- Session # :4 Database :etl 
> User :a # Statements:1 Prepared Statement Information:
>        Stmt ID         SQLText
>        -------------   -----------
>        SYSLH0001       SELECT * FROM APP.PROFILES
> 
> Session # :19
> 
> -------------------------------------------------------------
> # Connection Threads : 2
> # Active Sessions : 2
> # Waiting  Sessions : 0
> 
> Total Memory : 3042443264       Free Memory : 153934376
> 
> So I'm not sure what heap size it is reaching. 
> 
> Regards,
> 
> -Chris
> 
> 
> -----Original Message-----
> From: Bryan Pendleton [mailto:bpendleton.de...@gmail.com]
> Sent: 06 June 2014 12:32
> To: Derby Discussion
> Subject: Re: Apache Derby - Locks up.
> 
> It's interesting that you are trying to set it to use 6 G, and yet in your 
> other message there was the line:
> 
>> Total Memory : 1756889088       Free Memory : 306272128
> 
> which seems to indicate that it's only using 1.7 GB.
> 
> Like maybe you're running a 32 bit JVM, not a 64 bit JVM, somehow?
> 
> bryan

Reply via email to