Wat is virtueel RAM-geheugen in Android en moet het u iets schelen?
Diversen / / March 16, 2022
Losstaand van enorme camera megapixels en weergaven met hoge verversingssnelheid, lijkt de grootste trend in de smartphonewereld Virtual RAM te zijn. Sommigen noemen het dynamische RAM-uitbreiding, terwijl anderen het Extended RAM noemen. Hoe het ook heet, het idee blijft hetzelfde. Sta gebruikers toe om een deel van hun opslag als RAM te gebruiken om multitasking te vergemakkelijken.
We zullen in deze handleiding bespreken hoe geheugenbeheer in Android werkt en hoe het idee van Virtual RAM daarvan verschilt. We zullen proberen na te denken of Virtual RAM zelfs vereist is op Android of niet. Dus laten we ernaartoe gaan.
Hoe geheugenbeheer werkt op Android
Allereerst is het belangrijk om te begrijpen hoe Android uw geheugen beheert. Binnen Android zijn er 3 soorten geheugen. Eerst is je RAM, dan heb je zRAM en tenslotte je opslag. RAM is de basisgeheugenmodule waarbinnen alle apps draaien. Dan is er je opslag aan boord, ofwel UFS of eMMC op budgetapparaten. Ten slotte hebben we zRAM. In wezen is zRAM een partitie in RAM.
Het idee achter zRAM is dat gegevens met een lage prioriteit op RAM worden gecomprimeerd en in zRAM worden opgeslagen. Omdat RAM elke dag sneller is dan uw normale opslag, is het hebben van gecomprimeerde gegevens in zRAM, dat deel uitmaakt van RAM, zal nog steeds sneller zijn dan toegang tot uw opslag, zelfs als u de tijden voor comprimeren en decomprimeren meetelt.
Nu we de 3 verschillende soorten geheugen hebben vastgesteld die beschikbaar zijn voor Android, laten we eens kijken hoe het besturingssysteem het allemaal afhandelt. Android maakt dus gebruik van pagingtechnieken. Hoe het werkt, is dat RAM wordt opgedeeld in pagina's, waarbij elke pagina meestal 4 KB is. Of die pagina nu gratis of actief wordt gebruikt, ze combineren om respectievelijk gebruikt RAM en ongebruikt RAM te tonen. Vervolgens is het de taak van de kernel om gebruikt geheugen om te zetten in vrij geheugen. Het doet dit door de gegevens op die gebruikte pagina's naar uw opslag te verplaatsen.
Wat is paging en hoe werkt het?
Laten we de soorten pagina's begrijpen om te begrijpen hoe het werkt. U kunt pagina's in twee typen indelen: schone en vuile pagina's. De schone pagina's hebben een ongewijzigde kopie opgeslagen in de opslagruimte. Ondertussen hebben vuile pagina's een gewijzigde kopie van de gegevens die in de opslag zijn opgeslagen. Wat is dit gewijzigd en ongewijzigd? Laten we het dynamisch gebruik van je geheugen noemen.
Ongewijzigde kopieën zijn statische gegevens, terwijl gewijzigde kopieën dynamische gegevens zijn die elke seconde veranderen. Android kan de schone pagina's indien nodig opschonen, omdat ze niet dynamisch toegang hebben tot de bronnen. Dat helpt om het RAM-geheugen vrij te maken en er meer van beschikbaar te maken. Dat klinkt misschien een beetje te technisch, dus laten we het eenvoudiger maken om te begrijpen met behulp van real-world applicaties.
Stel dat u Twitter opent, door uw feed bladert en vervolgens naar iets anders overschakelt. Twitter is nog steeds aanwezig in je RAM. Maar als u het een tijdje niet opent, neemt de prioriteit af. Als je later iets nieuws lanceert, moet Android het geheugen vrijmaken dat Twitter gebruikt. Dus wat het doet, is dat het zijn waarden en gegevens naar de opslag verplaatst en u vrije ruimte geeft. Dit is de reden waarom wanneer u Twitter opnieuw start, het u eerst de tijdlijn toont waarop het in de slaapstand was en vervolgens wordt vernieuwd. Hetzelfde geldt voor Facebook, Reddit of vergelijkbare apps zoals Calculator of Notes. Deze apps gebruiken schone pagina's omdat een kopie van hun gegevens statisch wordt opgeslagen in uw opslag.
Overweeg nu voor vuile pagina's Spotify of een andere muziekspeler. Je start wat muziek in de speler en laat het op de achtergrond draaien zonder de app te openen. Het systeem kan het echter niet sluiten omdat het dynamisch uw geheugen gebruikt. Als gevolg hiervan comprimeert Android de app en verschuift deze naar zRAM wanneer er meer vrije RAM nodig is.
Wat is virtueel RAM?
Nu je weet hoe Android het geheugen beheert, moet je je afvragen: waar komt de Virtual RAM-functie binnen? Weet je nog hoe we zeiden dat zRAM ook een onderdeel van RAM is? De manier waarop Virtual RAM werkt, is dat het een swap-partitie op uw opslagruimte maakt en deze als extra zRAM gebruikt.
Omdat zRAM alleen in uw RAM wordt opgeslagen, is er een limiet aan het aantal pagina's dat u kunt comprimeren en erin kunt opslaan. Met een swap-partitie kunt u uw opslagruimte gebruiken als extra zRAM, voor het comprimeren en verplaatsen van apps, terwijl u ruimte vrijmaakt in uw werkelijke RAM.
Is deze functie nieuw?
Dus, is dit allemaal nieuw? Nou niet echt. Linux gebruikt sinds het begin swappartities. Voor Android hebben gebruikers van aangepaste kernels hun SD-kaarten gebruikt om extra swappartities te maken om het geheugenbeheer te verbeteren.
Als zodanig geven merkfabrikanten u dezelfde functie die in hun Android-skins is gebakken. Het roept echter de vraag op: als de functie zo nuttig is, waarom is deze dan geen onderdeel geweest van de broncode van Android?
Is virtueel RAM goed of slecht?
Het antwoord ligt in de zeer basale werking van Virtual RAM zelf. Hoewel je met deze functie meer apps op je apparaat kunt uitvoeren door apps in de slaapstand te comprimeren en ze naar je opslag te verplaatsen, doet het meer kwaad dan goed. Omdat swappartities in wezen actieve apps opslaan, is er een hoger gevoel van lezen en schrijven bij betrokken.
Dit werkt prima op traditionele opslag, maar flash-geheugen heeft een beperkt aantal lees- en schrijfbewerkingen. Dus door SWAP of virtueel RAM te gebruiken, verlaagt u technisch gezien de levensduur van uw apparaatopslag.
Dit wordt ook goed aangegeven op Android-ontwikkelaarspagina. "Op Android wordt opslag niet gebruikt voor swap-ruimte zoals bij andere Linux-implementaties, omdat regelmatig schrijven dat kan slijtage aan dit geheugen veroorzaken en de levensduur van het opslagmedium verkorten.” Een ander voorbeeld hiervan is in de nieuwe Apple M1 MacBooks. Die machines gebruiken een swap-partitie op de SSD's van Apple, waar gebruikers nogal wat over klagen.
Is virtueel RAM van belang en moet u het gebruiken?
In wezen hangt het allemaal af van hoe je multitasking definieert. Als het jongleert tussen slechts twee tot drie actieve apps, dan helpt virtueel RAM daar zeker bij. Maar als je blijft schakelen tussen 5-6 zwaar actieve apps, zal virtueel RAM niets doen omdat het de apps zou blijven verschuiven.
In de kern biedt de virtuele RAM-functie u meer RAM-ruimte die beschikbaar is voor apps om te draaien. Het gaat echter ten koste van uw opslag. Als u van plan bent uw apparaat langer dan twee jaar te blijven gebruiken, denken we dat het gebruik van virtueel RAM niet veel zin heeft.