Achten Sie auf die Optimierung der Betriebssystemparameter für optimale Leistung.
Beispiel
Hier ein Beispiel aus meinem System (ein Laptop mit einer über Oculink angeschlossenen Grafikkarte):
free -h
total used free shared buff/cache available
Mem: 37Gi 4.9Gi 29Gi 240Mi 3.5Gi 32Gi
Swap: 8.0Gi 0B 8.0Gi
cat /proc/meminfo | grep -E 'MemTotal|MemAvailable'
MemTotal: 39223064 kB
MemAvailable: 34073484 kB
VRAM wird separat angezeigt – sie ist nicht Teil von MemTotal.
nvidia-smi
Fri Nov 21 12:24:47 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.09 Driver Version: 580.82.09 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 5060 Ti Off | 00000000:01:00.0 Off | N/A |
| 0% 44C P8 8W / 180W | 13MiB / 16311MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 5314 G /usr/bin/gnome-shell 2MiB |
+-----------------------------------------------------------------------------------------+
Was tun
Überprüfen Sie die Einstellungen für overcommit und swappiness:
cat /proc/sys/vm/overcommit_memory
cat /proc/sys/vm/overcommit_ratio
cat /proc/sys/vm/swappiness
Empfohlene Werte:
2 # Limit = (RAM * ratio/100) + Swap
80 # Dies ist der Ratio-Wert
10 # Nicht höher als 20 – das ist der Anteil der verbleibenden RAM, bei dem Swap aktiviert wird; der Swap kann 8 GiB betragen, wenn die Betriebssystem-Hibernation nicht genutzt wird, dann entspricht der Swap der Größe der RAM
Ausführbare Befehle:
sudo sysctl vm.overcommit_ratio=80
echo 'vm.overcommit_ratio=80' | sudo tee -a /etc/sysctl.d/99-ml-workstation.conf
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.d/99-ml-workstation.conf
WICHTIG: Bei LLMs (insbesondere llama.cpp) kann THP = always zu Pausen (Verzögerungen von einer Minute nach dem Systemstart) führen.
cat /sys/kernel/mm/transparent_hugepage/enabled
# Sollte sein: [always] madvise never
Beim Arbeiten mit Speicher (z. B. wenn LLM-Modelle auf SSD geschrieben werden), ist die writeback-Einstellung wichtig:
cat /proc/sys/vm/dirty_ratio
cat /proc/sys/vm/dirty_background_ratio
cat /proc/sys/vm/dirty_expire_centisecs
Optimale Werte für NVMe:
10
5
1000 (das sind 10 Sekunden)
echo 'vm.dirty_ratio=10' | sudo tee -a /etc/sysctl.d/99-ml-workstation.conf
echo 'dirty_background_ratio=5' | sudo tee -a /etc/sysctl.d/99-ml-workstation.conf
echo 'vm.dirty_expire_centisecs=1000' | sudo tee -a /etc/sysctl.d/99-ml-workstation.conf
Zwischen den Starts von lmstudio wird empfohlen, den Speicher-Cache zu leeren:
sync && echo 2 | sudo tee /proc/sys/vm/drop_caches