Spielerei: vramfs Erfahrungen?

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13557
Registriert: 09.04.2008 12:48:59

Spielerei: vramfs Erfahrungen?

Beitrag von hikaru » 17.05.2021 22:23:04

Hallo,

vorweg: Das hier ist in keiner Weise wichtig. Ich war nur neugierig.

Ich habe gerade Bullseye auf meinem "Resterechner" installiert. Dieser hat folgende Eckdaten:
GPU: Nvidia GTX 950 (2GB VRAM) :mrgreen:
CPU: Intel Core2Quad Q9550 :)
Mainboard: Abit I-G31 (irgendein Bananenboard auf das der Q9550 nach Ausfall seines Originalboards umziehen musste; limitiert den RAM auf max. 3GB) :(

Nun besteht da ein klares Missverhältnis zwischen knappem RAM und ungenutzem VRAM und ich habe mich gefragt, ob man dem abhelfen könnte indem man Teile des VRAM als RAM oder Swap nutzt. Und siehe da, das geht offenbar im Prinzip. [1]
Im Archwiki werden zwei Methoden vorgestellt. Die erste nutzt das MTD-Subsystem des Kernels (was auch immer das sei), die zweite implementiert ein fuse-Dateisystem im VRAM und nennt sich passenderweise "vramfs". Ersteres habe ich schnell wieder verworfen, da auch meine GTX 950 wie die GPU im Wiki hier nur ca. 256MB VRAM hergeben würde.

Wie vramfs zu bauen und zu aktivieren ist, ist auf der github-Seite vorzüglich beschrieben und so kam ich problemlos bis zu dem Punkt als ich die Swap-Datei im vramfs erstellt und mit mkswap vorbereitet hatte. Beim Schreiben der rund 1,7GB großen Datei hatte ich übrigens eine Schreibrate mit dd von rund 400MB/s, ebenso beim Wiedeereinlesen nach /dev/zero.

Das Aktivieren der Datei scheiterte dann allerings mit folgender Meldung:

Code: Alles auswählen

swapon: swapfile has holes
Das ist offenbar eine Prüfung die in den Kernel mit Version 5.7 aufgenommen wurde um zu verhindern, dass Swap-Dateien mit Löchern erzeugt werden, genau wie die Meldung es suggeriert. [3]
Die übliche Lösungs dafür lautet, die Swap-Datei mit dd statt z.B. fallocate anzulegen. Aber genau das hatte ich ja getan. Eine Suche im Netz nach genau diesem Problem gestaltete sich schwierig und so kam mir zum Schluss die Idee, den Swap nicht direkt auf dieser Swap-Datei zu erzeugen, sondern ihr ein Dateisystem (hier ext2) zu verpassen, dieses zu mounten und dort wiederum eine weitere Swap-Datei anzulegen und dann jene als Swap zu nutzen.

Das war erfolgreich und der Swap ließ sich aktivieren. Dass dieses verschachtelte Kontrukt nicht gut für die Performance ist war mir klar. Die Schreibrate brach auch auf 70-100MB/s ein (mehr Verlust als ich erwartet hätte), die Leserate blieb aber bei ca. 300MB/s.
Nachdem die Trockentests erfolgreich absolviert waren, habe ich den RAM mit ein paar fetten Websites und Libreoffice gefüllt. Ich habe noch in top gesehen, wie der Swap im VRAM angekratzt wurde. (anderer Swap war zu der Zeit nicht aktiv). Aber als es wohl richtig damit losging den Swap zu nutzen fror das System ein (Desktop noch sichtbar, keine Mausbewegung mehr, kein VT-Wechsel möglich; Antwort auf Pings ja, Einloggen per ssh nein).
Es blieb nur noch das harte Auschalten, weshalb hier auch nur Prosa steht.

Hat schon mal jemand mit vramfs experimentiert und kann Aussagen zur Stabilität machen?
Oder weiß jemand wie man unter einem aktuellen Kernel das Aktivieren des Swap ohne die zusätzliche Krücke eines zweiten Images bewerksteligen kann?
Zur MTD-Lösung steht im Archwiki, dass man den VRAM für den X-Server künstlich begrenzen muss, weil sich sonst Grafik und Swap gegenseitig auf die Füße treten würden. Hätte ich das hier auch machen müssen? Ich hatte gut 256MB RAM für die Grafik freigelassen und vermute zumindest, dass die noch nicht aufgebraucht waren.


[1] https://wiki.archlinux.org/title/Swap_on_video_RAM
[2] https://github.com/Overv/vramfs
[3] https://bugzilla.kernel.org/show_bug.cgi?id=207585

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Spielerei: vramfs Erfahrungen?

Beitrag von MSfree » 17.05.2021 23:10:59

hikaru hat geschrieben: ↑ zum Beitrag ↑
17.05.2021 22:23:04
Mainboard: Abit I-G31 (irgendein Bananenboard auf das der Q9550 nach Ausfall seines Originalboards umziehen musste; limitiert den RAM auf max. 3GB) :(
Bist du sicher? Bei einem Bekannten hatte ich 4GB RAM aus meinem Fundus auf sein Mainboard gesteckt und das hat so ein ähnliches Limit gehabt, da waren es meiner Erinnerung nach sogar nur 2.5GB. Letztlich konnte man das aber durch BIOS-Einstellungen aufheben. Das war, glaube ich, eine Einstellung mit "memory hole" oder so ähnlich.

Benutzeravatar
hikaru
Moderator
Beiträge: 13557
Registriert: 09.04.2008 12:48:59

Re: Spielerei: vramfs Erfahrungen?

Beitrag von hikaru » 17.05.2021 23:41:00

Ja, "relativ" sicher. 2 DDR2-Slots sind vorhanden, 2x2GB sind gesteckt. Im OS (und ich glaube auch im POST) kommen davon 3GB an. Das restliche GB versackt im TOLUD. Das Board hat eine Onboard-GPU, deren Shared RAM sich in Grenzen konfigurieren lässt, oder ganz abschalten, wenn man eine dedizierte GPU verbaut.

Die genaue Menge RAM ist aber auch nebensächlich. Ob nun 2,5 oder 8GB. Aus heutiger Sicht ist der Flaschenhals des Rechners für meine Anwendungen der RAM. Und auf der GPU-Platine liegen 2GB davon weitgehend nutzlos rum. Die hätte ich halt gern irgendwie genutzt. Da der Rechner aber eh nicht mehr produktiv eingesetzt wird ist das hier nur Spielerei, und Erfolg oder Misserfolg dieser Übung dient nur der Befriedigung meiner Neugier.

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Spielerei: vramfs Erfahrungen?

Beitrag von MSfree » 18.05.2021 08:03:05

hikaru hat geschrieben: ↑ zum Beitrag ↑
17.05.2021 23:41:00
Ja, "relativ" sicher. 2 DDR2-Slots sind vorhanden, 2x2GB sind gesteckt. Im OS (und ich glaube auch im POST) kommen davon 3GB an.
Wie gesagt, das war bei meinem Bekannten auch so und hat mit der onboard Graphik nichts zu tun. Irgendwo im BIOS konnte man dann einstellen, daß der restliche Hauptspeicher woanders hingemapt wurde und so die vollen (miuns ein paar MB für onboard Graphik) zu Verfügung standen.

Ich würde jedenfalls erstmal das BIOS durchforsten bevor ich das RAM der GraKa nutze. Besonders performant ist das nämlich nicht.

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Spielerei: vramfs Erfahrungen?

Beitrag von MSfree » 18.05.2021 11:03:23

Youtube Video bezüglich des Speicherproblems:
https://www.youtube.com/watch?v=GbwVqJH9KQw

Hier hilft die Option "Memory Remap" im BIOS.

Benutzeravatar
hikaru
Moderator
Beiträge: 13557
Registriert: 09.04.2008 12:48:59

Re: Spielerei: vramfs Erfahrungen?

Beitrag von hikaru » 18.05.2021 12:42:54

Bitte nicht übelnehmen, aber das ist hier nicht das Thema. Hier geht's um vramfs bzw. allgemein darum, VRAM als RAM/Swap zu nutzen, unabhängig von den sonstigen Rahmenbedingungen.

Benutzeravatar
hikaru
Moderator
Beiträge: 13557
Registriert: 09.04.2008 12:48:59

Re: Spielerei: vramfs Erfahrungen?

Beitrag von hikaru » 30.05.2021 16:24:41

Das Problem mit dem Aufhänger ist offenbar, dass vramfs als Userspace-Prozess selbst geswapt wird:
https://github.com/Overv/vramfs/issues/3

Antworten