Firebird is een open - source software project dat een relationele database management systeem op basis van de SQL -programmeertaal gecreëerd . FireBird begon ontwikkeling in 2000 , in de laatste 10 jaar , heeft het een volwaardige enterprise - class server die draait op een grote verscheidenheid van platforms geworden . Het heeft een complexe reeks configuratieparameters en opties die bepalen hoe het draait op een verscheidenheid van single- of multi- server configuraties . Een subset van deze parameters bepaalt het gedrag van de ander geheugen zwembaden de SQL -server maakt en onderhoudt tijdens de werking ervan - elk zwembad is een adresruimte van aaneengesloten virtueel geheugen die een welomschreven doel dient . Houd verscheidene kwesties in gedachten wanneer het configureren geheugen zwembaden voor Firebird . Onderrapportage van Pool Memory Elk zwembad heeft een cache die ermee verbonden zijn , onbruikbaar door enige andere pool . Ondanks het feit dat een cache segment rechtstreeks kan worden toegeschreven aan een bepaalde pool , wordt de grootte niet op maat van het zwembad 's toegevoegd bij het rapporteren geheugen statistieken . De standaardgrootte van het segment cache is 64 megabyte . Geheugenlekkage op Windows versie Wanneer een client verbinding wordt ontvangen door de server ( hetzij van de lokale knooppunt of vanaf een externe een) , de Firebird motor kent een extra stuk van het geheugen van een kernel mode driver . Dit geheugen is niet correct bevrijd - zelfs niet als de verbinding die ervoor zorgde dat het bestaan eindigt . Hierdoor deze geheugentoewijzingen optellen tot Windows geen geheugen na een bepaalde tijd die afhankelijk is van de frequentie waarmee verbindingen met de server geopend . De nieuwste versies van FireBird hebben dit probleem al verholpen . Verkeerde Behandeling van Memory Pool Uitzonderingen Wanneer uitzonderlijke omstandigheden voordoen in de code - handling geheugen zwembaden , uitzondering handler moet extra geheugen toe te wijzen - maar het kan dat niet doen , omdat alle toewijzing van nieuwe geheugen wordt geblokkeerd door een mutexgrendel nog in handen van de code - handling geheugen zwembaden . Dit resulteert in core dumps zonder enige informatieve boodschap over de oorzaken van de fout.
|