Subject Re: Question to entry in log file
Author Adam
--- In, "Michael Vilhelmsen"
<Michael.Vilhelmsen@...> wrote:
> Hi
> We have a server running Fireird 1.5.5.
> Some 20 DBs are active at the same time.
> There are between 1 and 100 users connected to each DB at all time.
> The DBs varies from 20 Mb to 3 Gb.
> Every once in a while the Firebird server crashes.
> This gives on of 2 senarios.
> 1.
> The guardian takes over, restarting the server.
> Everybode gets an "Unable to connect to database..." (or something
> like this)
> 2.
> No one can connect to the DB, and those connected cannot do anything
> without getting every kind of error.
> Stopping and restarting the Firebird server solves this.
> Everytime these situations happens we can see that almost all of the 2
> Gbs of installed RAM are used.

That can't be good.

2GB is the maximum addressable memory of a single 32 bit process. The
amount of memory required by Firebird is a surprisingly complex
calculation, including the page sizes of the different databases as
well as the cache sizes (measured in pages) etc.

If hitting 2GB is not just a 'one off', then you need to do something
about reducing your cache or something like that.

Another option (and the path we went down) is to use Classic Server.
Classic server allocates a process to each connection which has two
benefits for you.

1. The 2GB limit is now 2GB per connection (which would require a
massive cache setting to worry about).

2. If the engine does encounter an unexpected condition which causes a
crash, it is only the single connection that is impacted.