Subject Re: [firebird-support] Re: Firebird Restarting part 2
Author Vlad Horsun
> > > > How many databases active at this moment ?
> > >
> > >
> > > 2 active databases.
> > > 1 is very small.
> > > Contains 1 table with 38 records inside.
> > > During a day, this DB has some 200 reads and 50 writes.
> > > No insert or deletes.
> > >
> > > Second DB - Its around 8Gb in size.
> > > It has between 50 and 150 users connected.
> > > I think I earlier on said some 200+, but as I have been monitoring the
> > > last days its "only" 50 to 150 users.
> >
> > Any chance that many of them run some queries with SORT in plan
> > simultaneously ?
>
> If you be this means, that users do a
> select f1, f2, etc
> from table
> Inner join....
> where
> Conditions...
> Order by ....
>
> Then yes - There are times a day when users will do that on the same
> time.

What value of SortMemBlockSize and SortMemUpperLimit in your firebird.conf ?

> > > Does some of them have
> > > > fixed cache setting ?
> > >
> > > I don't know what this is.
> >
> > Show us the output of gstat -h for each database, please
>
> Is this the information you would like to have ?

Yes
...
> Page buffers 0

I need to know value of "Page buffers" for _each_ database to which there are attachments
Also look at "DefaultDbCachePages" setting in firebird.conf

I can think about 3 possible ways to Firebird to reserve big amount of virtual memory and not use it:

a) Large unused page cache

Firebird reserved virtual memory of size of page buffer setting (in database header or in firebird.conf)
when first attachment to database is made. But Firebird can't use more pages than database file
have - so it reserved one amount of memory and used another if page buffer is greater than database
file itself

b) many simultaneous sortings

Firebird reserved memory for sorting by SortMemBlockSize chunks (no more than SortMemUpperLimit)
of course it can use less memory then SortMemBlockSize

c) some memory leak

It is possible you faced with some memory leak in Firebird but much more probably in some UDF.
But i can't imagine memory leak when physical memory is unused...

Regards,
Vlad