Subject | Re: How to find out buffer size. |
---|---|
Author | Mike |
Post date | 2007-01-08T16:54:39Z |
> The "Page Buffers" figure in gstat -h tells you this, since it readsThe reason I want to know is that I am getting an error about database
> it from the database header page where the permanent attributes are
> stored.
server not being able to address more memory than 2 GB. The error spit
out by the Firebird 1.5 SS is like this: internal gds software
consistency check (cannot start thread). This was happening anytime I
tried to connect to a second database. There are two databases running
on one server. A restart of the database service fixed the problem.
Before restarting I looked at the memory used. It was close to 2 G but
not quite there. The total available physical memory on the server is 4 G.
I looked the error up on the internet and found on the interbase site
that this is because database server is a 32-bit application and thus
cannot go over 2 GB limit.
http://support.borland.com/entry.jspa?externalID=3803&categoryID=153
This made sense so I decided to check the numbers. From documentation
I figured that maximum memory used by the database server is [Page
Size] b X [Num Of Pages(Cache)] X [Num of Databases]. But now you say that
> In the case of Superserver, thisso that means there is no way to limit the amount of memory thats
> could be higher or lower than the Db header (default cache size)
> figure, since the cache is shared by all connections and cache size
> in SS is dynamic and not limited to the default.
used. Is that so? If it is than what am I to do? Upgrading to 2.0 is
not an option now? To keep restarting database server is not a desired
solution either.
Anyway here are the numbers I gathered:
Database 1:
Page Size: 8192 bytes.
Default Cache Size (Page buffers field from gstat -h): 65536
Database 2:
Page Size: 8192 bytes.
Default Cache Size: 65536
If I use my formula to plug these numbers it does not come close to
the 2 G. 8192 X 65536 X 2 = 1,074,135,040 bytes.
So I guess my question is how to limit the memory used by the database
server.