Subject | Understanding memory for each connection under classic architecture |
---|---|
Author | peterson77 |
Post date | 2010-02-06T22:39:26Z |
I need to tune an application using Jaybird 2.1.6/Firebird 2.1 classic in a tomcat application on a 6gig RHEL 5 box.
When I run 'top' on the server, each fb_inet_server process created via Jaybird takes around 32meg of VIRT memory and I would like to understand what goes into this memory footprint.
1) The buffers are set to 2048 (gfix -buffers 2048). This means each connection should take 8 meg (2048 x 4k page = 8meg).
2) The TempCacheLimit (formerly SortMemCacheLimit) is not set in firebird.conf, so the default should be 8meg. This means each connection should take an additional 8meg.
I am not specifying any connection parameters in the Jaybird connection string. So all told, it looks like each connection should take 16meg. Why then is each connection actually taking 32meg? What am I missing?
- Steve
When I run 'top' on the server, each fb_inet_server process created via Jaybird takes around 32meg of VIRT memory and I would like to understand what goes into this memory footprint.
1) The buffers are set to 2048 (gfix -buffers 2048). This means each connection should take 8 meg (2048 x 4k page = 8meg).
2) The TempCacheLimit (formerly SortMemCacheLimit) is not set in firebird.conf, so the default should be 8meg. This means each connection should take an additional 8meg.
I am not specifying any connection parameters in the Jaybird connection string. So all told, it looks like each connection should take 16meg. Why then is each connection actually taking 32meg? What am I missing?
- Steve