Het scriptje maakt twee ramschijven aan, die samen even groot zijn als je RAM.
~$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda6 partition 2928636 0 -1
/dev/zram0 partition 512524 1488 100
/dev/zram1 partition 512524 1500 100
Die ramschijven worden dynamisch gealloceerd. In theorie zou op een bepaald moment dus het meeste van je werkgeheugen kunnen bestaan uit weggeswapt geheugen. Het weggeswapte geheugen is gecomprimeerd, zodat aldus meer geheugendata in RAM kan blijven bestaan vooraleer swap op een harde schijf moet aangesproken worden.
Door twee swapruimtes te maken en die dezelfde prioriteit te geven, gebruikt het systeem de twee swaps parallel. Dit kan de snelheid waarmee swap kan aangesproken worden, verhogen. Dat is zeker het geval wanneer swaps op verschillende schijven, aangestuurd door verschillende controllers staan. Of dat voor RAM ook zo geldt, durf ik betwijfelen.
Zoals reeds vermeld, heb ik het (schijnbaar unieke?) probleem dat bij eerste swapgebruik mijn computer minuten lang bevriest, terwijl zo een 200 mega aan swapdata weggeschreven worden. zram stelt het moment waar de harde schijf moet gebruikt worden, uit. Op het ogenblik dat de schijf gebruikt wordt, merk je dat ook nog overduidelijk, maar blijkbaar worden dan kleinere stukken weggeschreven, waardoor het systeem niet meer voor zo lang totaal bevroren is.