0

After changing the firebird 2.1 to 3.0 (SuperServer) is gradually rise much memory up to a maximum of hardware (20GB) for about one month. Firebird server has 6 database with a total size of about 30 gigabytes. Client applications are .NET WinForm and Windows Service using ADO.NET Data Provider version 5.0.5.0

Although I end all client applications and services (so there is no open connection) then firebird process still takes 20 gigabytes of memory and frees up only when restart firebird server.

In the previous version of Firebird this problem is not experienced on similarly large databases and with the same client applications (no changes on code, just switch to new ado.net provider version)

Is this standard behavior? Is there some special arrangements in Firebird config in new version? Perhaps I have overlooked some novelty in behavior Firebird 3?

Yes, I used using statements and dbConnection.Close();

I'll be glad for any wisdom

Majkl
  • 765
  • 1
  • 9
  • 25
  • Did you by any chance go from the Firebird 32 bit to the 64 bit version? – Mark Rotteveel Nov 15 '16 at 10:04
  • yes, previous we used 32 bit and now 64 bit. – Majkl Nov 15 '16 at 11:05
  • 1
    This is probably the filesystem cache problem, check the Firebird settings `FileSystemCacheSize` and `FileSystemCacheThreshold`; see also http://www.firebirdsql.org/file/documentation/release_notes/html/en/2_5/rnfb25-fbconf-fscache.html Otherwise I suggest you post to the firebird-support mailinglist, because I don't think that StackOverflow is a suitable venue for troubleshooting this. – Mark Rotteveel Nov 15 '16 at 11:15
  • Thanks for you directions. I examine and let you know the result (this may take a week before result coming) – Majkl Nov 15 '16 at 11:19
  • update to the latst provider version 5.6.0 and look what happens. if you still have the issue, use a memory tracing/profilder tool to see more details – magicandre1981 Nov 15 '16 at 15:46
  • New Info : I tried setting the On / Off cache and different combinations, but unfortunately it did not solve the problem. Yet I wondered if .net provider does not use commit Retaining as default and then remains occupied memory. But I do not know how to check it out. I checked through gstat -header .... that there is no open transaction (oldest and next number is the same). – Majkl Jan 03 '17 at 11:51

0 Answers0