Det interne minnet til en smarttelefon fungerer ikke som et enkelt arkiv der filer kan lagres og hentes: det er et mye mer komplekst system, styrt av algoritmer og styringsmekanismer som trenger ledig plass for å fungere effektivt. Når den marginen reduseres drastisk, lider hele enheten. Her, som du kanskje allerede har opplevd når hukommelsen er nesten full, en telefon med lite ledig plass blir tregere. La oss prøve å forstå litt mer detaljert hvorfor dette skjer og fremfor alt, hva du skal gjøre for å forhindre problemet.
Fulle minner i smarttelefoner og årsakene til nedgangen: hvordan de fungerer
Moderne smarttelefoner monteres flashminneri varianter eMMC (akronym for innebygd MultiMediaCardbilligere og vanlig i enheter på inngangsnivå) e UFS (Universal Flash-lagringraskere og utbredt i mellomtoner og avanserte telefoner). Begge deler en grunnleggende egenskap: de kan ikke direkte overskrive data som allerede er til stede. For å kunne skrive i et okkupert område, må kontrollerendvs. maskinvarekomponenten som styrer lese- og skriveoperasjoner, må først slette en hel blokk, dvs. en minneenhet som består av flere sider. Sider er minimum lese- og skriveenheter, men sletting fungerer nødvendigvis på hele blokken: denne asymmetrien gjør administrasjonen av flash-minne mye mer kompleks enn den for vilkårlig overskrivbart minne. Når ledig plass er knapp, mister kontrolleren marginen den trenger for å gjøre jobben sin, operasjoner står i kø og hver ny skriving blir tregere. Det er den mest direkte og umiddelbare effekten av minnefylling, men det er ikke den eneste.
Det er to grunnleggende algoritmer som styrer blitsen. Den første er slitasjeutjevning (bokstavelig talt «slitasjeutjevning»), som fordeler skriftene jevnt over hele minnet for å forhindre at de samme cellene gjentatte ganger blir stresset og slites ut før andre.
Den andre er søppelinnsamlingsom tar seg av å gjenopprette blokkene som er okkupert av data som ikke lenger er gyldige: den konsoliderer informasjonen som fortsatt er nyttig i dedikerte blokker og frigjør plass for fremtidige operasjoner.
Begge disse prosessene trenger gratis blokker å lene seg på midlertidig. Med minnet nesten mettet, reduseres denne driftsmarginen eller forsvinner helt. Av denne grunn øker ventetidene (ventetidene mellom en forespørsel og dens utførelse), og selv de enkleste operasjonene, som å lagre et bilde eller starte en appoppdatering, tar mye lengre tid enn normalt.
Så er det fenomenet filsystemfragmentering: Med lite plass tilgjengelig kan ikke filer tildeles til sammenhengende områder og distribueres i spredte fragmenter. I flashminner har dette mindre innvirkning enn i tradisjonelle magnetiske disker, der et fysisk hode fysisk må bevege seg fra ett område til et annet, fordi tilfeldig tilgang til NAND (brikketypen som brukes i flashminner) har ventetider som kan sammenlignes med sekvensiell tilgang. Men effekten er fortsatt reell: Algoritmene fungerer mindre effektivt, og systemet er tvunget til å multiplisere input/output-operasjoner selv for trivielle oppgaver. Det må sies at virkningen av fragmentering på moderne flashminner er mye mer begrenset enn på tradisjonelle magnetiske disker og sjelden representerer hovedårsaken til nedgang, men under ekstremt begrensede plassforhold kan det likevel bidra til å øke antallet operasjoner som er nødvendige for å administrere data.
En tredje dynamisk, mindre intuitiv, men like relevant, gjelder VÆRdet midlertidige minnet som brukes til å holde apper i gang. Når RAM er under press, bruker mobile operativsystemer spesifikke strategier: Android tyr hovedsakelig til zRAMen del av RAM som brukes som et komprimert område for midlertidig å parkere mindre aktive data uten å involvere lagring; iOSiPhone-operativsystemet, håndterer trykk gjennom komprimering og lukker om nødvendig bakgrunnsprosesser i prioritert rekkefølge. I begge tilfeller blokkerer ikke et nesten fullt internminne disse mekanismene, men svekker dem: apper og systemtjenester som ikke klarer å skrive loggfiler eller hurtigbuffer stopper ikke, men fortsetter å prøve igjen i en løkke, og overbelaster både prosessoren og I/O-delsystemet. Det håndgripelige resultatet er kompromittert flyt: apper lukkes brått, starter på nytt fra bunnen av og lastetidene blir lengre.
Hvordan unngå langsommere smarttelefoner på grunn av lite ledig plass
For å unngå alt dette er den mest effektive forholdsregelen å opprettholde en ledig plassreserve tilsvarende minst 10-20 % av total kapasitet: På en 128 GB-enhet betyr dette at du har omtrent 13 til 26 GB ledig lagringsplass tilgjengelig. Det er også verdt det rengjør appbufferen med jevne mellomrom gjennom verktøyene som er integrert i systemet (men uten å overdrive, siden tømming av bufferen midlertidig bremser omstarten av selve appene) og avinstallere ubrukte applikasjoner. Også start enheten på nytt regelmessig det er en praksis som bør tas i bruk fra tid til annen, ettersom den lar operativsystemet fullføre interne vedlikeholdsoperasjoner, frigjøre ressurser og «trekke pusten».