Subject Re: [firebird-support] Tuning Firebird Server for Optimal Memory Usage
Author Anderson Farias
Hi,

> have 1GB memory in my PC with Linux kernel. I want to allocate like 400MB
> dedicated to my Firebird database. How can I modify firebird.conf (or
> operating system) to do so? Right now Firebird is not using much of RAM
> seems like.
>
> I am hoping with more caching in memory the performance will be better.

It depends on what firebird model you're running (classic or SS). SS usually
uses bigger caches while classic is the contrary since the cache is
per-process and not shared between them.

If you're using SS than define your cache pages (server level at
firebird.conf or database level using gfix) as:

number of cache pages = total memory you whant for cache (Bytes) / your db
page size (Bytes)

However, while bigger cache it's usually good (for SS, for classic keep it
low) there are of course limits where, for your particular use, you'll have
no pratical gain *and* can even hurt performance if take to much memory from
system (for other general tasks). So, some points must be taken into
account:

1) For SS each database has it's own cache, so, if you have more than 1 db
at this server remember to sum memory usage for each of it

2) For Classic, each 'connection' get's it's own cache, so memory usage for
cache depends on the number of concurrent connections you have

3) Cache is only part of the memory FB uses. FB also uses memory to hold
it's process (then, for Classic multiply that for the number of concurrent
connections), and memory for doing tasks (ordering, loking, and so on). So,
do not count only on the Cache size. Be careful with your memory settings.


My 2'c

Regards,
Anderson Farias