SWAP File erstellen

manchmal kann es notwendig sein eine SWAP Datei “RAM Auslagerungsdatei” zu erstellen

dieses Beispiel ist für ein ext4 Dateisystem

wir gehen davon aus das es keine SWAP Datei gibt und Prüfen dies noch einmal
swapon --show
wen keine ausgabe kommt ist SWAP nicht vorhanden oder Aktiv
SWAP Datei anlegen
fallocate -l 4G /swapfile
Prüfen ob Datei angelegt
ls -lh /swapfile
rechte setzen
chmod 600 /swapfile
SWAP Dateisystem anlegen
mkswap /swapfile
SWAP aktivieren
swapon /swapfile
noch einmal Prüfen ob Swap vorhanden und aktiviert
swapon --show
RAM und SWAP Auslastung anzeigen
free -h
aktuell wird es nicht beim Neustart aktiviert, dazu muss es in fstab geschrieben werden
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

noch 2 Optimierungen, dies zeigt die aktuelle Einstellung an
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/vfs_cache_pressure

Wirkung von Swappiness-Werten
0: Das System versucht, den Swap-Speicher so wenig wie möglich zu verwenden. Es wird fast ausschließlich physischen RAM nutzen und Swap nur in Notsituationen verwenden, wenn der RAM fast voll ist.
100: Das System nutzt den Swap aggressiv, auch wenn noch viel RAM verfügbar ist. Dies kann sinnvoll sein, wenn der Swap auf einer sehr schnellen SSD liegt oder bei Anwendungen, die viele Daten zwischenspeichern.
Standardwert (60): Bei den meisten Linux-Distributionen ist der Standardwert 60. Das bedeutet, dass das System einen ausgewogenen Ansatz verfolgt: Es beginnt mit der Nutzung von Swap, sobald der RAM zu etwa 40% ausgelastet ist.

Bedeutung von vfs_cache_pressure
Der Wert von vfs_cache_pressure gibt an, wie stark der Kernel den Speicherplatz von VFS-Caches gegenüber anderen Caches priorisiert:

Niedrigere Werte (z. B. 50):
Der Kernel entfernt Daten aus dem VFS-Cache weniger aggressiv. Dies bedeutet, dass mehr Caches für Verzeichnis- und Dateizugriffe im RAM verbleiben. Dies kann die Leistung verbessern, insbesondere bei Systemen mit vielen Dateizugriffen (z. B. File-Server, Datenbanken).

Höhere Werte (z. B. 200):
Der Kernel bevorzugt es, Speicherplatz aus dem VFS-Cache freizugeben, um anderen Speicheranforderungen (z. B. Anwendungen oder Puffer-Caches) gerecht zu werden. Dies kann sinnvoll sein, wenn der Speicher begrenzt ist und das System intensiv ausgelastet ist.

Standardwert (100):
Der Kernel verwendet einen ausgewogenen Ansatz und behandelt den VFS-Cache gleichwertig mit anderen Speicherarten. Das ist der Standard in den meisten Linux-Distributionen.

zum setzen der werte

sysctl vm.swappiness=5
sysctl vm.vfs_cache_pressure=50

um es auch bei einem Neustart zu setzen müssen die 2 Zeilen in diese Datei /etc/sysctl.conf am ende eingefügt werden

vm.swappiness=5
vm.vfs_cache_pressure=50

wen man ein btrfs Dateisystem hat wird die SWAP so angelegt

truncate -s 0 /swapfile
chattr +C /swapfile
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile