Hallo zusammen. Letzte Woche habe ich in meiner Freizeit nicht gecodet, sondern verschiedene Optimierungen an meinen Computern durchgeführt, daher werde ich euch davon erzählen.
Mein Arbeitslaptop hat derzeit 16 GB Arbeitsspeicher verbaut. Wie sich herausstellte, sind 16 GB im Jahr 2025 schon wenig. Docker, Electron und IntelliJ haben den gesamten Speicher gefressen. Daher habe ich mir überlegt, wie man den Speicher unter Linux so weit wie möglich optimieren kann.
ZSWAP
Ich halte diese Optimierung für extrem nützlich und lasse sie ständig aktiviert. Der Kern dieser Optimierung besteht darin, dass die Swap-Datei auf der Festplatte in komprimierter Form gespeichert wird. Es wäre praktisch, wenn Linux diese Optimierung standardmäßig auf allen Rechnern aktivieren würde, die die Mindestanforderungen erfüllen, aber das ist nicht der Fall.
ZRAM
Eine fragwürdige Optimierung, sie hat mir nicht gefallen. Dafür gibt es zwei Gründe:
- Erstens muss ein fixer Speicherbereich für ZRAM reserviert werden. Wie viel? Das weiß niemand. Es können 30 %, 50 % oder 70 % sein. Das bedeutet, dass ZSWAP effektiv mein gesamtes verfügbares Arbeitsspeichervolumen leicht reduziert.
- Zweitens: Wenn man bereits ZSWAP hat, wozu braucht man dann noch ZRAM zusätzlich? Zudem widersprechen sie sich und zeigen falsche Statistiken an, wenn beide aktiviert sind.
Kernel Same Page Merging, KSM
Eine sehr raffinierte Optimierung, die ziemlich schwierig einzurichten ist. Speicherseiten mit identischem Inhalt werden zu einer Zusammenfassung kombiniert. Ich dachte, dass diese Optimierung sehr nützlich sein müsste, da viele Electron-Apps und Browser-Tabs auf Webkit basieren – man könnte sie also alle zusammenführen… In der Praxis erhalten wir jedoch eine Kompression von 500 MB bei 20 GB Speicher. Das sind etwa 2,5 %. Einerseits ist das wenig. Andererseits kommt der freie Speicher aus dem Nichts – was cool ist. Ich lasse diese Optimierung vorerst aktiviert. Aber wenn der Laptop mit Akku betrieben wird, macht diese Optimierung keinen Sinn, da sie im Hintergrund die CPU belastet.
BTRFS
Es gibt eine automatische Kompression für das Dateisystem. Leider gibt es keinen einfachen Weg, sie über die grafische Benutzeroberfläche (GUI) zu aktivieren; man muss sich im Terminal herumschlagen. (Unter Windows geht das mit einem Klick in den Festplatteneigenschaften). Ich habe die Kompression für meine gesamte Festplatte aktiviert und der Gewinn ist sehr ordentlich.
Fazit:
- ZSWAP 🟢 immer aktivieren, außer auf sehr alten, schwachen Computern
- ZRAM 🟡 kann man machen, aber ist es notwendig?
- KSM 🟡 kann man machen, aber nicht im mobilen Einsatz (Akkubetrieb)
- BTRFS 🟢 immer die Kompression aktivieren, außer natürlich auf sehr alten, schwachen Computern
Das ist es erst einmal vorerst. Diese Woche plane ich, mich durch LeetCode zu kämpfen 🥵💻 und Aufgabe Nummer 200 zu erreichen.