Hallo zusammen. Letzte Woche habe ich in meiner Freizeit nicht viel codiert, aber ich habe verschiedene Optimierungen an meinen Computern vorgenommen, daher möchte ich über diese berichten.
Mein Arbeits-Laptop verfügt derzeit über 16 GB Arbeitsspeicher. Wie sich herausgestellt hat, sind 16 GB im Jahr 2025 schon wenig. Docker, Electron und Intellij verbrauchen den gesamten Speicher. Daher habe ich mir überlegt, wie man den Speicher auf Linux optimal nutzen kann.
ZSWAP
Ich halte diese Optimierung für die nützlichste und habe sie ständig aktiviert. Die Idee ist, dass der Swap-Dateien komprimiert auf der Festplatte gespeichert wird. Es wäre praktisch, wenn Linux diese Optimierung standardmäßig auf allen Computern mit erfüllten Mindestsystemanforderungen aktivieren würde, aber das tut es nicht.
ZRAM
Ich bin skeptisch gegenüber dieser Optimierung. Es gibt zwei Gründe:
- Erstens muss man einen festen Speicheranteil für ZRAM reservieren. Wie viel? Niemand weiß es genau. Man könnte 30 %, 50 % oder 70 % nehmen. Aber wie viel ist das im Verhältnis zum Gesamtspeicher?
- Zweitens, wenn ZSWAP bereits aktiviert ist, warum dann noch ZRAM hinzufügen? Außerdem stehen sie sich gegenseitig im Weg und die Statistiken sind ungenau, wenn beide gleichzeitig aktiviert sind.
Kernel Same Page Merging (KSM)
Eine sehr raffinierte Optimierung, deren Einstellung ziemlich kompliziert ist. Seiten im Speicher mit identischem Inhalt werden zu einer zusammengefasst. Ich dachte, diese Optimierung wäre sehr nützlich, weil Programme in Electron und Browser-Tabs alle auf Webkit laufen... Aber in der Praxis sind es nur 500 MB Kompression bei 20 GB Speicher, also etwa 2,5 %. Einerseits wenig, andererseits wird ungenutzter Speicher freigegeben – super! Ich habe diese Optimierung aktiviert, aber wenn mein Laptop von der Batterie betrieben wird, hat sie keinen Sinn, da sie die CPU im Hintergrund belastet.
BTRFS
Es gibt automatische Kompression für das Dateisystem. Leider gibt es keinen einfachen Weg, sie über die Grafikbenutzeroberfläche zu aktivieren; man muss in der Terminal-Konsole herumfummeln (in Windows kann man es mit einem Klick in den Laufwerkseigenschaften aktivieren). Ich habe die Kompression für meine gesamte Festplatte aktiviert und es gibt einen angemessenen Gewinn.
Fazit:
- ZSWAP: Immer aktivieren, außer bei sehr alten schwächeren Computern
- ZRAM: Kann man machen, aber ist es nötig?
- KSM: Kann man aktivieren, aber nicht auf einem Laptop, der von der Batterie betrieben wird
- BTRFS: Immer komprimieren aktivieren, außer bei sehr alten schwächeren Computern
Das war's für diese Woche. Ich plane, mich in LeetCode reinzuhängen und die Aufgabe Nummer 200 zu knacken.