Subject Re: [firebird-support] Firebird using all available memory
Author Fabiano Bonin
Hi, Javier.

2018-05-23 12:29 GMT-03:00 Javier Cintron fcintrono@... [firebird-support] <firebird-support@yahoogroups.com>:
 


Do you have several Firebird installations(instances) in the same machine?
Perhaps firebird is reading a different firebird.conf. 

No, just one.


Why don't you post your complete firebird.conf?


Because all other configurations are using the defaults. Anyway, here is it:

#DatabaseAccess = Full

#RemoteAccess = true

#ExternalFileAccess = None

#UdfAccess = Restrict UDF

#TempDirectories =

#AuditTraceConfigFile =
#MaxUserTraceLogSize = 10

DefaultDbCachePages = 524288 # 2GB (memória em M / 4 * 1024 / page size em K)
#DatabaseGrowthIncrement = 128M
#FileSystemCacheThreshold = 64K
#FileSystemCacheSize = 0
#RemoteFileOpenAbility = 0
#TempBlockSize = 1M
TempCacheLimit = 1024M # 1GB (memória em M / 8)

AuthServer = Srp, Legacy_Auth
#AuthClient = Srp, Win_Sspi, Legacy_Auth
UserManager = Srp, Legacy_UserManager
#TracePlugin = fbtrace
#WireCryptPlugin = Arc4
#KeyHolderPlugin =
#AllowEncryptedSecurityDatabase = false
#Providers = Remote,Engine12,Loopback

#DeadlockTimeout = 10

#MaxUnflushedWrites = 100
#MaxUnflushedWriteTime = 5

#BugcheckAbort = 0

#RelaxedAliasChecking = 0

#ConnectionTimeout = 180
WireCrypt = Enabled
#WireCompression = false
#DummyPacketInterval = 0

#RemoteServiceName = gds_db
#RemoteServicePort = 3050
#RemoteAuxPort = 0
#TcpRemoteBufferSize = 8192
#TcpNoNagle = 1
#IPv6V6Only = 0
#RemoteBindAddress =

LockMemSize = 2M
#LockAcquireSpins = 0
#LockHashSlots = 8191
#EventMemSize = 64K

#CpuAffinityMask = 0

#GCPolicy = combined

#SecurityDatabase = $(dir_secDb)/security3.fdb

#GuardianOption = 1

#ProcessPriorityLevel = 0

#IpcName = FIREBIRD
#RemotePipeName = interbas

#Redirection = 0

ServerMode = Super



On Wednesday, May 23, 2018, 9:29:30 AM CDT, Fabiano Bonin fabiano.bonin@personalsoft. com.br [firebird-support] <firebird-support@yahoogroups. com> wrote:


 

Hi, Thomas. It is zero. I presume in this case it uses the system default, right?

Regards,

Fabiano

Database header page information:
        Flags                   0
        Generation              62390727
        System Change Number    0
        Page size               4096
        ODS version             12.0
        Oldest transaction      905
        Oldest active           62303005
        Oldest snapshot         62303005
        Next transaction        62382577
        Sequence number         0
        Next attachment ID      1290314
        Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Apr 4, 2018 7:03:44
        Attributes              force write





2018-05-22 18:30 GMT-03:00 'Thomas Kragh-Pedersen (TKG)' TKG@... [firebird-support] <firebird-support@yahoogroups. com>:
 

Hey Fabiano

Perhaps DefaultDbCachePages is overwritten by database header information. Gstat -h will tell you that. Look for “Page buffers”

 

 

From: firebird-support@yahoogroups. com <firebird-support@yahoogroups. com>
Sent: 18. maj 2018 16:12
To: firebird-support@yahoogroups. com
Subject: [firebird-support] Firebird using all available memory

 

 

Hi,

 

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.

 

Regards,

 

Fabiano

Vi gør opmærksom på, at denne e-mail kan indeholde fortrolig information. Hvis du ved en fejltagelse modtager e-mailen, beder vi dig venligst informere afsender om fejlen ved at bruge svarfunktionen. Samtidig beder vi dig slette e-mailen i dit system uden at videresende eller kopiere den. Selvom e-mailen og ethvert vedhæftet bilag efter vores overbevisning er fri for virus og andre fejl, som kan påvirke computeren eller it-systemet, hvori den modtages og læses, åbnes den på modtagerens eget ansvar. Vi påtager os ikke noget ansvar for tab og skade, som er opstået i forbindelse med at modtage og bruge e-mailen.

Please note that this message may contain confidential information. If you have received this message by mistake, please inform the sender of the mistake by sending a reply, then delete the message from your system without making, distributing or retaining any copies of it. Although we believe that the message and any attachments are free from viruses and other errors that might affect the computer or it-system where it is received and read, the recipient opens the message at his or her own risk. We assume no responsibility for any loss or damage arising from the receipt or use of this message.