Subject Firebird using all available memory
Author Fabiano Bonin

I have a Debian 9 Linux server with 8GB of memory, a database with 30GB, page size 4KB, and Firebird 3.0.3 running in superserver mode and about 150-200 concurrent connections.

In my firebird.conf I have changed the following properties:

DefaultDbCachePages = 524288 # 2GB
TempCacheLimit = 1024M # 1GB
LockMemSize = 2M

As superserver uses a shared cache, I presumed the total used memory should stay between 3GB and 4GB, but it keeps growing during the day until it reaches the 8GB limit and Firebird shuts down with this message:

debian  Fri May 18 10:45:35 2018
        Shutting down the server with 150 active connection(s) to 2 database(s), 0 active service(s)

I am checking the active transactions during the day, and altought there are some old (2h to 3h) active transactions, I don't that an old active transaction should cause this, but I am reporting anyway, maybe it is relevant.

Do someone have some advice to what should I do to prevent this from happening?

Maybe my understanding about how Firebird uses memory is incorrect, so any advice about how I should calculate the required amount of memory needed is welcome.

PS: I have migrated from FB 2.5 recently (previously I did use superclassic mode), and these problems started after the migration.