Viele Betriebssysteme versuchen ihre Betriebssystemkomponenten und die aktuell benötigte Programmdaten möglichst komplett im RAM zu halten. Der Vorteil von RAM (Random Access Memory, dt. auch Hauptspeicher) liegt in der äußerst kurzen Zugriffszeit und der viel höheren Transferrate (der Prozessor greift direkt darauf zu). Jedoch ist die Speicherkapazität begrenzt.
Einsatzzweck von SWAP
Nun kann es vorkommen, dass der komplette RAM voll ist. Das kann dann der Fall sein, wenn zu viele Programme und Dienste geöffnet sind. Das kann zu System- oder Dienstabstürzen führen. Und genau an dieser Stelle kommt SWAP oder eine Auslagerungsdatei ins Spiel. Ist der RAM voll, beginnen Betriebssysteme (auch Linux) RAM-Speicher frei zu machen. Dabei verschiebt der Kernel die im RAM gespeicherten Daten auf den Massenspeicher des Systems (also da wo der SWAP-Bereich ist). Werden die Daten wieder benötigt, so werden diese wieder in den RAM geladen. Andere, gerade nicht benötigte Daten werden wiederrum in den SWAP geschrieben. Im Linux-Bereich spricht man auch von Swapping. Linux erstellt für den SWAP-Bereich eine eigene SWAP-Partition.
Das Problem an dieser Stelle: Wird der SWAP-Bereich intensiv genutzt, so wird das System durch die häufigen Zugriffe auf den Massenspeicher deutlich langsamer. Verzichtet man auf diesen SWAP-Bereich, kann dies bei vollem RAM zu Datenverlust führen, da Dienste und Programme abstürzen oder beendet werden. Deshalb wird in den meistens Linux Distributionen von Anfang an ein SWAP angelegt.
Man sollte aber unbedingt beachten, dass der SWAP keinen vollwertigen RAM ersetzt (siehe Vergleich).
Speichermöglichkeiten im Vergleich
DRAM / Arbeitsspeicher |
HDD / Festplatte |
SSD o. SD-Karte / Flash Speicher |
|
---|---|---|---|
gewöhnliche Größe | 4 GB | 1 TB | 250 GB (SSD) 16 GB (SD-Karte) |
Preis pro GB | 0,50 € | 0,05 € | 0,60 € |
Zugriffszeit | 0,00002 ms | ~ 8 ms | 0,3 ms |
Schreibzyklen je Bit | praktisch unbegrenzt | ~ 10 Mrd. | 10.000 – 100.000 |
Schreib-/Leseraten | bis 51.200 MB/s | bis 150 MB/s | bis 500 MB/s |
Besonderheiten | Speicher ist flüchtig, d.h. Daten gehen bei Stromausfall verloren | Mechanisch, d.h. kann gegen Erschütterungen empfindlich sein und ggf. Laufwerk & Daten zerstören | Daten gehen bei Stromausfall nicht verloren und Laufwerk hält Erschütterungen problemlos aus |
Wie zu erkennen, sind die Unterschiede extrem. Jede der Möglichkeiten bietet ihre optimalen Einsatzzwecke.
Swapgröße
Gerade auf dem Raspberry Pi kann ein SWAP-Bereich Sinn machen, da der Arbeitsspeicher mit 512 MB doch sehr beschränkt ist. Laufen wenige und anspruchslose Dienste auf dem System, kann auch darauf verzichtet werden, doch im Allgemeinen empfiehlt sich eine Einrichtung. Per Standard sind in Raspian 100 MB SWAP eingerichtet. Früher galt die Faustregel: SWAP = RAM * 2. Diese gilt jedoch als überholt. Die Größe des aktuellen RAMs als SWAP festzulegen ist mehr als ausreichend. Also: SWAP = RAM Größe.