ZRAM: Was bringt das wirklich?

D

ddisaster

Fortgeschrittenes Mitglied
19
Hi,

ich hab jetzt schon öfters vom ZRAM gehört. Aber ich weiß nicht genau, wie viel das mir effektiv nutzt. Hier mal die Definition von ubuntuusers:

Gerade auf Systemen mit wenig Arbeitsspeicher kommt es hin und wieder vor, dass dieser knapp wird und das System beginnt, den Swap-Speicher zu nutzen. Da sich dieser auf der Festplatte befindet, ist er im Vergleich zum RAM relativ langsam. Der Nutzer merkt das in Form von langsamen Programmen, springenden Mauszeigern oder einem komplett ausgelasteten System.

Abhilfe schafft eine im Linux-Kernel integrierte Technik: zRam (Virtual Swap Compressed in RAM, früher als "compcache" bekannt). Nutzt man diese Technik, so wird ein komprimiertes Blockgerät direkt im Arbeitsspeicher des Computers erstellt. Auf diese Art können mehr Daten im Arbeitsspeicher gehalten werden. Dies führt dazu, dass das System nicht so schnell auf eine langsame Festplatte schreiben muss.

Das heißt ja, dass der Ram Komprimiert wird. das Bedeutet ja, dass dass ich "mehr" speicher zur Verfügung habe, was gut ist :smile: aber das bedeutet ja auch, dass bei jedem Speicherzugriff die Daten komprimiert werden müssen. Richtig? Also braucht das ja wieder Rechenleistung (und mehr speicher?) :glare:

Was bringt mir ZRAM dann eigentlich effektiv? oder kostet es beim Sensation mehr leistung als es bringt? Ha hier schon jemand erfahrungen gesammelt?

LG DDisaster
 
  • Danke
Reaktionen: TATU
Also ich persönlich hatte es früher aktiviert, aber jetzt nicht mehr. Also ich persönlich merke da keinen Unterschied.

Die Daten müssen sowohl komprimiert, als auch dekomprimiert werden. Das hat eine (theoretische) höherer CPU Auslastung zur Folge.
Der Vorteil liegt halt darin, dass dann kein Apps mehr auf dem RAM geschmissen werden, weil der RAM voll ist und Platz für neue gebraucht wird (da gab es ja früher täglich aufreger darüber, dass Sense aus dem RAM geschmissen wurde, hat sich ja mit Sense 3.6 anscheint erledigt).

Also ich persönlich glaube, dass es mehr oder weniger eine Glaubens Sache ist. Vielleicht hat da jemand andere Erfahrungen gemacht, aber ich nicht.
 
Verbraucht ZRAM viel Akku oder?
 
Da zitier ich mich mal selber:

Obihörnchen;3834883 schrieb:
Da ich hier im Forum so viele falsche Informationen über ZRAM sehe habe ich beschlossen mal etwas Klarheit in die ganze Materie zu bringen :thumbup:
Oft wird über einen Performance Vorteil gesprochen, da ZRAM schneller als Swap ist. Das ganze mag für normale PCs stimmen aber wir sind hier mit Android unterwegs und da sieht das ganze etwas anders aus!

Erst einmal eine kurze Feststellung für alle, die noch nicht so lange in der Android Szene unterwegs sind:
ZRAM = ramzswap = Compcache

Um ZRAM genauer zu erklären müssen erstmal andere Begriffe genauer geklärt werden:
Swap kann man mit der Auslagerungsdatei unter Windows vergleichen werden. Wird der Arbeitsspeicher (RAM) zu voll kann der PC die Daten, die gerade nicht aktiv gebraucht werden (z.B. Hintergrundanwendungen) auslagern um so wieder RAM frei zu räumen. Dazu werden diese Daten auf eine Festplatte geschrieben. Bei Bedarf können diese Daten dann einfach wieder von dort aus gelesen werden. Selbst die schnellste SSD ist aber langsamer als der Arbeitsspeicher. Unter Android gibt es Swap nicht!

Bei ZRAM werden nicht benötigte Speicherressourcen komprimiert und dann in einen fest reservierten Bereich im RAM verschoben (ZRAM). Also eine Art Swap Partition im Arbeitsspeicher.
Dadurch ist mehr Ram frei, da die Daten dann nur noch ca. 1/4 des ehemaligen Speicherbedarfs haben. Allerdings muss die CPU dadurch mehr arbeiten, da sie die Daten komprimieren muss (oder auch wieder entpacken wenn sie wieder gebraucht werden). Der Vorteil hierbei liegt ganz klar in der Geschwindigkeit. Da die Swap Partition sich im RAM befindet ist diese viel schneller als eine Swap Partition auf einer Festplatte.

An und für sich eine ganz tolle Sache. Aber Android besitzt keine Swap Partition und daher bringt ZRAM unter Android keinen Performance Gewinn wie es bei einem normalen PC der Fall wäre.

Beim normalen PC würde das folgendermaßen aussehen:
Swap = Auslagerungsdatei (auf Festplatte) --> Langsam
ZRAM (Swap im RAM) --> Schneller als Swap
RAM --> Schnell

Bei Android gibt es keine Swap Partition und daher bringt ZRAM auch keinen Performance Boost.
Das einzige was ZRAM bringt ist "mehr" RAM. Durch das komprimieren "vergrößert" sich sozusagen der verfügbare Arbeitsspeicher. Das ist auf Geräten mit sehr wenig RAM (<256MB) auch ziemlich nützlich. Das S2 hat aber 1GB und die reichen mehr als aus. Da muss nicht künstlich auf 1,5GB hochgepusht werden.

Denn aktiviert man ZRAM hat das auch 2 Nachteile. Das komprimieren und dekomprimieren verbraucht CPU Time, welche wiederum höheren Stromverbrauch zur Folge hat.

Grob kann man also sagen:
Ohne ZRAM: +CPU Performance | +Battery | -RAM
Mit ZRAM: -CPU Performance | -Battery | +RAM

Für Geräte mit zu wenig RAM also durchaus sinnvoll. Aber wer ballert beim S2 schon sein kompletten RAM voll und braucht dann immer noch mehr?

Überprüfen ob Swap läuft kann man im Terminal mit
free oder cat /proc/meminfo

Weiterführende Infos:
Swap and Compcache - CyanogenMod Wiki
http://obihoernchen.net/
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Lieblingskaki, Benny Alex, Hcolhcsra und 5 andere
Quelle: www.knopper.net

zram "RAM-Kompression", nützlich vor allem für ältere Rechner mit wenig Hauptspeicher: bis zu 75% des Hauptspeichers werden bei Speicherknappheit komprimiert, so dass auch ohne auf einer Festplatte eingerichtetem Swap-Auslagerungsbereich das Starten von Programmen möglich ist, für die der Hauptspeicher normalerweise nicht ausreichen würde. Dadurch steht dem System "virtuell" (bei durchschnittlich gut komprimierbaren Daten) fast der doppelte Hauptspeicher zur Verfügung.
 
Sry fürs Graben nach Leichen ^^

Kann davon nur abraten, hatte es an und es verbraucht mehr Akku bzw. mehr CPU-Leistung. Seitdem ich es aus habe hält mein Akku wieder länger und iwie läuft auch mein Android besser ...

mfg, pacco
 
  • Danke
Reaktionen: ->TopAZ<-
Leichenschänder! :lol:

Aber Danke, kann ich nur bestätigen. Selbst getestet und festgestellt, BRINGT NICHTS!

CU
 
Das geht auch ganz leicht mit der app Kernel Tuner
dort kannst du auch eine Swap File auf der Partition /data machen da ist die schreib / Lese Geschwindigkeit auch sehr hoch und bringt auch was hatte es mal 2 Tage getestet und es ist besser als Zram.

Kannst die Swap natürlich darüber auch kinderleicht auf der SD-Karte erstellen doch das macht erst richtig sin ab einer Class 10 / Ultra Karte.
 
Jetzt muss ich hier aber auch noch mal meinen Senf abgeben.
xXXSchokiXXx schrieb:
dort kannst du auch eine Swap File auf der Partition /data machen
Das ist absolut nicht zu empfehlen. Swap bedeutet sehr viele Schreibvorgänge, das ist für Flash-Speicher eine große Belastung. Eine kaputte SD kann man austauschen, aber wenn man sich seinen internen Speicher kaputtgeswappt hat, ist das quasi ein Full Brick.

Deshalb Swap Partition immer nur auf die externe SD!
 
Die haben sich doch aber sehr.gut entwickelt , im Thema Stabilität oder nicht ? (SSD Platten ) sind ja auch nur Flash-Speicher

Gesendet von meinem HTC Sensation Z710e mit der Android-Hilfe.de App
 
xXXSchokiXXx schrieb:
(SSD Platten ) sind ja auch nur Flash-Speicher
Und genau aus dem Grund defragmentiert man SSD's auch nicht, verwendet kein Journaling und Swappt nicht darauf ;)
 
Richtig. Und um Produktionskosten zu sparen, werden wohl MLC-Zellen verwendet. Die lassen sich im Gegensatz zu den SLCs nicht 100.000x beschreiben, sondern nur 10.000x. Und da das Sensa nur 4 GB hat... ;) Ich gehe davon aus, dass man, wenn man ein ganzes Jahr lang bei 60er Swappiness swappt und das Gerät gut nutzt, dass das Gerät dann nach dem Jahr zum Briefbeschwerer wird. Dann lieber, wenn man schon scharf auf freien RAM ist, auf ZRAM setzen.

mfg Marcel
 
  • Danke
Reaktionen: xXXSchokiXXx und ->TopAZ<-
Guten Tag,
Ich habe mal eine frage,
Was bringt eigentlich das ZRam bei einer Custom Rom?
Kann das Gefährlich sein für mein Handy wie zum Beispiel den Prozessor übertakten?
Und wenn ich es nicht in der Installation eingeschaltet habe, kann ich das irgentwo in der Custom Rom einschalten?

Danke im Vorraus
 
Obihörnchen;3828303 schrieb:
Da zitier ich mich mal selber:
...An und für sich eine ganz tolle Sache. Aber Android besitzt keine Swap Partition und daher bringt ZRAM unter Android keinen Performance Gewinn wie es bei einem normalen PC der Fall wäre.

Es gibt sehr wohl Android Geräte mit Swap Partion!
Und selbst wenn es der Hersteller nicht von Haus aus bereit stellt kann man sich eine Partition erstellen und auch nutzen.
Gerade bei der Umstellung auf ICS bei Geräten mit 512MB RAM machten wieder viele Hersteller gebrauch von einer extra Swap Partition!


PS: Auch wer keine extra Partition dafür hat kann sich ein SWAP-File auf jeder X-belibigen Partion einrichten.
 
Zuletzt bearbeitet:
Obihörnchen;3828303 schrieb:
Das einzige was ZRAM bringt ist "mehr" RAM. Durch das komprimieren "vergrößert" sich sozusagen der verfügbare Arbeitsspeicher. Das ist auf Geräten mit sehr wenig RAM (<256MB) auch ziemlich nützlich. Das S2 hat aber 1GB und die reichen mehr als aus. Da muss nicht künstlich auf 1,5GB hochgepusht werden.

Mein S3 hat auch 1GB RAM und der ist schon nach dem Boot voll. Gerade neu gestartet, 11MB RAM frei. Da ich viel Krams am Laufen habe.

Ich merke auch regelmäßig, dass Apps, die ich vor 10 Min noch benutzt habe, beim erneuten Aufruf komplett neu geladen werden. Mir wäre es lieber, diese würden im Hintergrund weiterlaufen.

CPU-Zeit und Akku-Verbrauch sind mir auch relativ egal, ich komme immer locker über den Tag.

Also würde zRAM in meinem Fall doch absolut Sinn machen, oder?
 
Wie jetzt S2, S3. Ihr wisst schon dass das der Sensation Bereich ist oder :p :)
 
zRam bringt auch nix zum speed, sondern nur zur performace und nutzt zum stabilisieren des multitasking.... :D
 

Ähnliche Themen

C
  • chakoe
Antworten
1
Aufrufe
5.790
TomTim
TomTim
M
  • mailmonster
Antworten
1
Aufrufe
931
mailmonster
M
H
  • HTCfreak123
Antworten
5
Aufrufe
1.159
HTC_Freak
HTC_Freak
Zurück
Oben Unten