Firebird er et open- source software -projekt , der skabte en relationel database management system baseret på SQL programmeringssprog. Firebird startede udviklingen i 2000 , og i de sidste 10 år er det blevet et fuldgyldigt enterprise -class server, der kører på en bred vifte af platforme. Det har et komplekst sæt konfigurationsparametre og indstillinger , der bestemmer , hvordan det kører på en række enkelt - eller multi- server konfigurationer. En undergruppe af disse parametre bestemmer adfærd forskellige hukommelse pools SQL Server opretter og vedligeholder under drift - hver pulje er en adresse plads af sammenhængende virtuel hukommelse , der serverer et veldefineret formål. Holde flere emner i tankerne, når du konfigurerer hukommelse pools for Firebird . Underrapportering af Pool Memory
Hver pulje har en cache forbundet med det, ubrugelig ved enhver anden pulje. På trods af at en cache segment direkte kan henføres til en bestemt pulje , er dens størrelse ikke tilføjet til puljen størrelse , når de indberetter hukommelse statistik. Som standard størrelse cache segment er 64 megabyte .
Memory Leak på Windows Version
Når en klient -forbindelse er modtaget af serveren (enten fra den lokale node eller fra en ekstern en), fordeler Firebird motor et ekstra luns af hukommelse fra en kernel -mode driver. Denne hukommelse er aldrig befriet korrekt - heller ikke , når forbindelsen , der fik den til at eksistere afsluttes. På grund af dette , tilsættes disse hukommelse tildelinger indtil Windows løber tør for hukommelse efter et bestemt tidsrum , der afhænger af den hyppighed, hvormed forbindelser med serveren blev åbnet. De nyeste versioner af Firebird har allerede rettet dette problem.
Forkert håndtering af hukommelse Pool Undtagelser
Når ekstraordinære omstændigheder forekomme i code- håndtering hukommelse pools , undtagelsen handleren skal afsætte ekstra hukommelse - men det kan ikke gøre det, fordi alle tildelingen af nye hukommelse er blokeret af en mutex lås stadig indehaves af code- håndtering hukommelse pools. Dette resulterer i kerne lossepladser uden nogen oplysende budskab om de dybereliggende årsager til fejlen.