theHacker's Blog
– It's just a glitch in the Matrix –

Temporär mehr Speicher zum Spielen

Ich sitz grade an meinem Laptop und dachte mir, ich könnte eine Runde 7 Days to Die spielen. Das Spiel hatte ich heute Früh schon installiert und probeweise gestartet, ob das Laptop von der Performance her ausreicht. Ich hab ein Arbeitslaptop, kein Gaming-Laptop. Is aber gestartet.

Nur jetzt merk ich, dass ins Hauptmenü kommen und die Map laden zwei Paar Stiefel sind. Ich konnte zwar eine neue Karte generieren, doch danach gabs n Freeze. An/Aus und nochmal probiert, diesmal hat sich das Spiel beendet, als ich in die angelegte Map joinen wollte.

Wie erwartet: Kernel-Log hat den oom-killer drinstehen, der das Spiel abgeschossen hat, weil zu wenig Speicher da war. Man kann den Speicher aber einfach "erhöhen".

Mehr Speicher? Is ja nicht mehr da, wie soll das gehen?

Natürlich kann man nicht mehr RAM haben, als eingebaut is, außer natürlich mehr RAM kaufen und einbauen.

Linux hat neben dem RAM-Speicher aber auch noch einen Swap-Speicher, der benutzt wird, wenn der RAM nicht ausreicht. Damit können für Anwendungen, die den Speicher aktuell nicht brauchen, die Daten "raus-ge-swappt" und später bei Bedarf wieder "rein-ge-swappt" werden.

Ich habe hier aktuell 2 GiB Swap konfiguriert. Probeweise habe ich zuerst weitere 2 GiB (7 Days to Die is damit immer noch abgestürzt), danach hab ich es mit weiteren 6 GiB Swap probiert (das hat funktioniert).

Swap-Speicher erweitern

Wie bei allen Systemeingriffen, benötigen wir Root-Rechte:

sudo -i

Wir legen nun eine leere Datei mit der gewünschten Größe an und setzen die Dateirechte, dass niemand sonst zugreifen kann. Wo die Datei liegt, ist prinzipiell egal. Ich habe sie direkt auf die Root-Ebene gelegt, wo auch die reguläre Swapdatei liegt.

cd /
dd if=/dev/zero of=swapfile-extra bs=1M count=6144
chmod 600 swapfile-extra

Danach erzeugen wir ein Swap aus der leeren Datei:

mkswap swapfile-extra

Nun müssen wir den Swap nur noch aktivieren:

swapon swapfile-extra

Fertig.

Anmerkung: Wenn die Swapdatei nicht root gehört oder/und die Dateirechte nicht passen, werden mkswap oder/und swapon entsprechend warnen.

Kontrolle des verfügbaren Speichers

Mittels free können wir verifizieren, dass nun wirklich mehr Swap zur Verfügung steht:

root@phoebe:/# free -m
               gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:       7639        1431        3705         675        2501        5280
Auslager:       2047         772        1275
root@phoebe:/# swapon swapfile-extra
root@phoebe:/# free -m
               gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:       7639        1435        3698         678        2504        5273
Auslager:       8191         772        7419
root@phoebe:/# swapoff swapfile-extra
root@phoebe:/# free -m
               gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:       7639        1436        3700         675        2501        5275
Auslager:       2047         771        1276

Das Gegenstück zu swapon ist swapoff, um den Swap wieder zu deaktivieren.

Tipp: Swapfile benennen

Beim Anlegen des Swaps kann mkswap mittels -l-Argument ein Name übergeben werden. Dieser wird angezeigt, wenn mittels file die Datei analysiert wird.

root@phoebe:/# file swapfile-extra 
swapfile-extra: Linux swap file, 4k page size, little endian, version 1, size 1572863 pages, 0 bad pages, LABEL=extra for games, UUID=ec855221-fe5c-4250-8253-1ca2258071c4

Du kannst übrigens auch nachträglich ein Swapfile benennen/umbenennen, indem du swaplabel verwendest.

Schlusswort

Die beschriebene Maßnahme ist rein temporärer Natur. Man kann mit einem Eintrag in die /etc/fstab dafür sorgen, dass Linux jedes Mal die Swap-Erweiterung einbindet (dann kann man aber gleich einfach ein größeres Swapfile verwenden 😉).

Auch sollte klar sein, dass Swap-Speicher natürlich auf der Festplatte (SSD?) liegt, also der Geschwindigkeit von echtem RAM-Hauptspeicher weit unterlegen ist.

Für meinen Fall hats genügt, ich konnte danach 7 Days to Die spielen (…mit einer miesen Framerate von knapp 10 FPS auf niedrigen Details 🙁).

Wenn dir dieser Artikel geholfen hat, hinterlass gerne einen Kommentar.

Kommentare zu diesem Artikel

Schreib einen Kommentar zum Artikel

CAPTCHA Das Internet ist leider voller Bots. 🙁 Bitte gib den obenstehenden Code ein.
Falls du den Code nicht lesen kannst oder dir unsicher bist, klick einfach hier, um einen neuen Code zu generieren.

Mit Abschicken des Formulars bestätigst du,
die Datenschutz-Infos gelesen zu haben.