10
September
2020
16:39

RAM -Komprimierung mit ZSWAP einrichten

10 September 2020 16:39

Wenn der RAM endet, wird der Computer sehr langsam, da die Pumpdatei (SWap) на жестком диске. Для решения этой проблемы придуман модуль zswaP. Standardmäßig ist es im Linux -Betriebssystem deaktiviert, aber Sie können es verwenden.

ПочIch brauchte es, um ZSWAP zu verwenden? 2 Gläne von 2 GB wurden installiert, aber physisch unterstützt das Motherboard nur 3 GB - dies ist die Einschränkung des Motherboards basierend auf dem Intel 82945 -Chipsatz. Auf dem anderen Computer, ebenfalls unter Linux, sind 1 GB und 2 GB (nur 3 GB) installiert, sie reichen normalerweise aus, um im Internet zu arbeiten. Aber manchmal kann es beim Öffnen großer PDF -Dateien oder Bilder von RAM enden ...

Auswahl: zram или zswaP.

zram применяют для постоянного сжатия страниц - в памяти выделяют раздел swaP, in die die komprimierten Speicherseiten als reguläre Pumpdatei auftreten, jedoch in einem schnellen RAM.

Zswap не выделяет раздел в памяти - лишь динамический объем (пул) в ОЗУ, в который попадают лишь те страницы, которые являются кандидатами для попадания в физический файл swaP. Vor der Platzierung im Pool werden auch die Seiten vertraglich.

Da die Speichermenge groß genug ist, brauche ich keine konstante Komprimierung des RAM, wie z tram. Es ist erforderlich, einen Mangel an Tausch gegen die Scheibe in dem Fall zu gewährleisten, wenn RAM nahe der Füllung liegt.

Lösung:

  1. In der Linie des GRUB -Bootloaders, der für die Übertragung der Nucleus -Parameter verantwortlich ist, gibt ich den Ruf des ZSWAP -Moduls an:

    sudo nano /etc/default/grub

Korrigierte die Zeile grub_cmdline_linux_default in Folgendes:

GRUB_CMDLINE_LINUX_DEFAULT="noresume zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=lz4 zswap.max_pool_percent=35"

GRUB_CMDLINE_LINUX=""

  1. Aktualisierte die GRUB -Konfiguration:

    sudo update-grub

  2. Ermöglichte die Belastung von Modulen für die erweiterte Komprimierung

    sudo nano /etc/initramfs-tools/modules

Zeilen hinzugefügt:

lz4
lz4_compress
z3fold

Und behielt die Änderungen bei.

  1. Startete das Init -Datei -Updaterd (который содержит iniramfs - начальную файловую систему для загрузки в оперативную память в момент загрузки ОС; второй частью ядра является статический файл vmLinuz, das sich mit diesem Befehl nicht ändert und den Kern selbst enthält):

    sudo update-initramfs -u

  2. Das System neu laden

    sudo reboot

  3. Prüfung.

  • Es gab keine Komprimierung des RAM, um das Modul zu konfigurieren.

    dmesg | grep zswap

  • Nach der ersten Aufnahme ohne Module LZ4, LZ4COmpress команда dmESG brachte heraus
    [2.690663] ZSWap: loaded using pool lzo/Zbud

  • Nach der endgültigen Tinktur mit Aufnahme des LZ4, LZ4CO -Modulsmpress и z3fold вывод команды dmESG ist wie folgt:
    [2.734842] ZSWap: loaded using pool lz4/Z3FOLD


Anmerkungen:

  1. Der Unterschied zwischen LZO -Kompressionsmethoden von LZ4 in Kompressions- / Auspackgeschwindigkeiten - LZ4 hat die höchste unter der gesamten Geschwindigkeit der Komprimierung und Dekompression.
  2. Auf Systemen mit einem kleinen Volumen RAM anstelle von ZSWap.zpool=z3fold лучше попробовать zswap.zpool=zsmaLLOC (Kompressionsgrad bis 7).
  3. Die maximale Größe des Pools für komprimierte Seiten von Kesha wählte 50%aus, da laut F 50%ree -h на компьютере с 3 Гб озу размер кеша составляет 600 Мбайт и 1.1 Гб свободно (1.7 Гб составляют примерно 50% объёма ОЗУ 3Гб). На системах с малым объёмом ОЗУ предельное значение zswap.max_pool_perCent sollte sich auf 10-15%reduzieren, so dass es 200-300 MB ist. Die Größe des Pools (komprimierter Cache) besteht aus dynamischen Seiten.

    Ergänzung von 10.06.2021 : Nach einer Erhöhung der Konfigurationsdatei /etc/default/grub параметра zswap.max_pool_percent с 50 до 70 и выполнения команды sudo update-grub размер свободной оперативной памяти (free) увеличился c 213 до 500 Мбайт, видимо за счет сжатия оперативной памяти. По моему мнению, оптимальный размер max_pool_percent для максимальной экономии ОЗУ лежит диапазоне от 70 до 90%. При параметре max_pool_percent на уровне 90%, я не заметил замедления работы программа и операционной системы в целом. После увеличения zswap.max_pool_percent до 90, размер свободного ОЗУ при запущенном браузере Mozilla Firefox лежит в диапазоне 908...937 Мбайт. Скорость работы браузера Firefox nahm ebenfalls zu.

Zugabe von 10.21.2021: beimax_pool_percent=90 наблюдал на сайте "Госуслуг" при отправке заполненной формы для переписи населения РФ возникновение сильного свопинга. Уменьшил max_pool_percent=35 (около 1 Гбайт ОЗУ), выполнил sudo update-grub и перезагрузил ПК. Видимо, излишнее повышение параметра max_pool_perCent, über 50%, sind unerwünscht.

Fügen Sie 2023 hinzu.

Bringen Sie den Bildschirm der aktuellen ZSWAP -Einstellungen auf

grep -R . /sys/module/zswaP.

ZSWAP -Arbeitsstatistik (Debugging):

sudo grep -R . /sys/kernel/debug/zswap/

Wenn Zswap включен, но в статистике нет сжатых страниц (/sys/kernel/debug/zswap/stored_pages:0), это означает, что операционной системе оперативной памяти хватает. В этом случае отладка zswap будет выдавать нули, т.к. ожидающих выгрузку в swaP Seiten ohne Speicher.

Quellen:



Verwandte Veröffentlichungen