---
title: 'RAM-Komprimierung mit ZSwap einrichten'
url: 'https://ra1ahq.blog/de/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap'
markdown: 'https://ra1ahq.blog/de/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap.md'
lang: de
date: '2020-09-10'
description: 'Wenn der Arbeitsspeicher erschöpft ist, wird der Computer beim Zugriff auf die Auslagerungsdatei auf der Festplatte sehr langsam. Um dieses Problem zu lösen, wurde das Zswap-Modul erfunden. Standardmäßig ist es im Linux-Betriebssystem deaktiviert, Sie können es jedoch aktivieren. Warum'
taxonomy:
  category:
    - blog
  tag:
    - Linux
  archives_month:
    - sep_2020
  archives_year:
    - '2020'
---

# RAM-Komprimierung mit ZSwap einrichten

10 

 September 

 2020 

 16:39

### RAM-Komprimierung mit ZSwap einrichten

 [Linux](https://ra1ahq.blog/de/tag:Linux) 

10 September 2020 16:39

Wenn der Arbeitsspeicher erschöpft ist, wird der Computer beim Zugriff auf die Auslagerungsdatei auf der Festplatte sehr langsam. Um dieses Problem zu lösen, wurde das Zswap-Modul erfunden. Standardmäßig ist es im Linux-Betriebssystem deaktiviert, Sie können es jedoch aktivieren.

Warum musste ich die RAM-Komprimierung „zswap“ verwenden? Es sind 2 2-GB-Sticks verbaut, aber das Motherboard unterstützt physikalisch nur 3 GB – das ist eine Einschränkung eines Motherboards, das auf dem Intel 82945-Chipsatz basiert. Auf einem anderen Rechner, auf dem ebenfalls Linux läuft, sind 1 GB und 2 GB RAM-Sticks installiert (insgesamt 3 GB), diese reichen in der Regel für die Arbeit im Internet aus. Aber manchmal kann es beim Öffnen großer PDF-Dateien oder Bilder vorkommen, dass der Arbeitsspeicher knapp wird ...

### Wahl: Zram oder Zswap

zram wird für die permanente Seitenkomprimierung verwendet – im Speicher wird ein Swap-Abschnitt zugewiesen, in den komprimierte Speicherseiten wie in eine normale Auslagerungsdatei entladen werden, jedoch im schnellen RAM.

zswap weist keine Partition im Speicher zu, sondern nur ein dynamisches Volume (Pool) im RAM, das nur die Seiten enthält, die Kandidaten für die Aufnahme in die physische Auslagerungsdatei sind. Auch Seiten werden komprimiert, bevor sie in den Pool gestellt werden.

Da die Speichergröße groß genug ist, muss ich den RAM nicht ständig komprimieren, wie es bei zram der Fall ist. Es muss sichergestellt werden, dass kein Auslagern auf die Festplatte erfolgt, wenn der RAM fast voll ist.

### Lösung:

1. In der GRUB-Bootloader-Zeile, die für die Übergabe von Kernel-Parametern zuständig ist, gebe ich einen Aufruf des ZSwap-Moduls an:

    `<pre>sudo nano /etc/default/grub</pre>`

Die Zeile GRUB\_CMDLINE\_LINUX\_DEFAULT wurde wie folgt korrigiert:

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

**`GRUB_CMDLINE_LINUX=""`**

2. Aktualisierte GRUB-Konfiguration:

    `<pre>sudo update-grub</pre>`
3. Erlaubtes Laden von Modulen für erweiterte Komprimierung

    `<pre>sudo nano /etc/initramfs-tools/modules</pre>`

fügte die Zeilen hinzu:

`lz4`
`lz4_compress`
`z3fold`

und die Änderungen gespeichert.

4. Ich habe mit der Aktualisierung der initrd-Datei begonnen (die iniramfs enthält – das anfängliche Dateisystem zum Laden in den RAM beim Booten des Betriebssystems; der zweite Teil des Kernels ist die statische Datei vmlinuz, die durch diesen Befehl nicht geändert wird und den Kernel selbst enthält):

    `<pre>sudo update-initramfs -u</pre>`
5. Starten Sie das System neu

    `<pre>sudo reboot</pre>`
6. Überprüfen.

- Vor der Einrichtung des Komprimierungsmoduls war kein RAM vorhanden.

    `<pre>dmesg | grep zswap</pre>`
- Nach dem ersten Start ohne die Module lz4, lz4compress wird der Befehl dmesg ausgegeben
    \[2.690663\] zswap: geladen mit Pool lzo/zbud
- Nach der endgültigen Konfiguration unter Einbeziehung der Module lz4, lz4compress und z3fold lautet die Ausgabe des Befehls dmesg wie folgt:
    \[ 2.734842\] zswap: geladen mit Pool lz4/z3fold

---

**Hinweise:**

1. Der Unterschied zwischen den Komprimierungsmethoden lzo und lz4 liegt in der Komprimierungs-/Dekomprimierungsgeschwindigkeit – lz4 hat die höchste Komprimierungs- und Dekomprimierungsgeschwindigkeit von allen.
2. Auf Systemen mit wenig RAM ist es besser, statt zswap.zpool=z3fold zswap.zpool=zsmalloc (Komprimierungsstufe bis 7) auszuprobieren.
3. Die maximale Poolgröße für komprimierte Cacheseiten beträgt 50 %, da laut free -h auf einem Computer mit 3 GB RAM die Cachegröße 600 MB beträgt und 1,1 GB frei sind (1,7 GB sind etwa 50 % der 3 GB RAM). Auf Systemen mit wenig RAM sollte das zswap.max\_pool\_percent-Limit auf 10-15 % reduziert werden, sodass es 200-300 MB beträgt. Die Größe des Seitenpools (komprimierter Cache) ist dynamisch.

    **Update vom 10. Juni 2021**: nach Erhöhung in der Konfigurationsdatei **/etc/default/grub** parameter **zswap.max\_pool\_percent** von 50 auf 70 und Ausführen des Befehls `sudo update-grub` die Größe des freien RAM (frei) stieg von 213 auf 500 MB, offenbar aufgrund der RAM-Komprimierung. Meiner Meinung nach die optimale Größe **max\_pool\_percent** für maximale RAM-Einsparungen liegt im Bereich von 70 bis 90 %. Mit dem Parameter **max\_pool\_percent** auf dem 90-Prozent-Niveau habe ich keine Verlangsamung des Programmbetriebs oder des Betriebssystems insgesamt festgestellt. Nach der Erhöhung von zswap.max\_pool\_percent auf 90 liegt die Größe des freien RAM bei Ausführung des Mozilla Firefox-Browsers im Bereich von 908 bis 937 MB. Auch die Geschwindigkeit des Firefox-Browsers hat zugenommen.

Ergänzung vom 21.10.2021: Bei max\_pool\_percent=90 habe ich starkes Tauschen auf der Website der Staatsdienste beobachtet, als ich ein ausgefülltes Formular für die Volkszählung der Russischen Föderation einreichte. Reduziert max\_pool\_percent=35 (ca. 1 GB RAM), ausgeführt `sudo update-grub` und den PC neu gestartet. Anscheinend ist eine übermäßige Erhöhung des Parameters max\_pool\_percent über 50 % unerwünscht.

### Ergänzung 2023. Ausgabe der Zswap-Betriebsstatistik

Anzeige der aktuellen ZSwap-Einstellungen

```
grep -R . /sys/module/zswap
```

ZSwap-Leistungsstatistik (Debugging):

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

Wenn zswap aktiviert ist, aber in der Statistik (/sys/kernel/debug/zswap/stored\_pages:0) *keine* komprimierten Seiten vorhanden sind, bedeutet dies, dass das Betriebssystem über genügend RAM verfügt. In diesem Fall erzeugt das Zswap-Debugging Nullen, weil Es gibt keine Speicherseiten, die darauf warten, in den Swap geladen zu werden.

**Quellen:**

- <https://www.kernel.org/doc/html/latest/vm/zswap.html>
- <https://askubuntu.com/questions/991953/apply-z3fold-to-zswap>
- <https://unix.stackexchange.com/questions/406925/prevent-zram-lru-inversion-with-zswap-and-max-pool-percent-100>
- <https://unix.stackexchange.com/questions/406936/get-current-zswap-memory-usage-and-statistics>

### Verwandte Veröffentlichungen

 [ ![](https://ra1ahq.blog/images/f/3/a/2/c/f3a2c07ef5b32c0308ab703405a5a5ca87b75283-archer-ac600-728.webp) Установка драйвера ядра для Wi-Fi адаптера TP-Link после обновления ОС Debian ](https://ra1ahq.blog/de/ustanovka-draivera-yadra-dlya-wi-fi-adaptera-tp-link-posle-obnovleniya-os-debian) 

 [ ![](https://ra1ahq.blog/images/d/2/5/c/7/d25c7282750b398f71041fb8b90640b692e7e4b8-decibelfmtitle.png) Linux Cinnamon Desktop-Applets zum Hören von Internetradiosendern ](https://ra1ahq.blog/de/applety-dlya-rabochego-stola-linux-cinnamon-dlya-proslushivaniya-internet-radiostancii) 

 [ ![Kein Bild](https://ra1ahq.blog/user/themes/mytheme/images/no-image.png) Übergabe eines Parameters an ein Linux-Modul/-Treiber ](https://ra1ahq.blog/de/peredacha-parametra-modulyu-draiveru-linux) 

 [ ![](https://ra1ahq.blog/images/5/c/4/e/a/5c4ea9c8c3f0b4dd890116d8fe7cbadfdb9814ba-archer-ac600.webp) Installieren des TP-Link Archer T600U Nano Wi-Fi-Adaptertreibers in Debian 13 „Trixie“ ](https://ra1ahq.blog/de/ustanovka-draivera-wi-fi-adaptera-tp-link-archer-t600u-nano-v-debian-13-trixie) 

 [ ![](https://ra1ahq.blog/images/b/f/f/0/f/bff0f99f5897e0420fac9a6eef7254247f39c29d-pulseaudio-equalizer.png) Installieren des Audio-Equalizers pulseaudio-equalizer-ladspa unter Linux ](https://ra1ahq.blog/de/ustanovka-v-linux-ekvalaizera-zvuka-pulseaudio-equalizer-ladspa) 

[ Zurück](https://ra1ahq.blog/de/ne-zapuskaetsya-sluzhba-apparmor-posle-ustanovki-mysql-reshenie-problemy "Vorherige Seite")

[ Vorwärts ](https://ra1ahq.blog/de/gora-kirkhgof "Nächste Seite")

## Sprachen

- [Русский](https://ra1ahq.blog/posts/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap)
- [English](https://ra1ahq.blog/en/posts/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap)
- [Deutsch](https://ra1ahq.blog/de/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap)
- [Français](https://ra1ahq.blog/fr/posts/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap)
- [中文 (简体) (cn)](https://ra1ahq.blog/zh-cn/posts/nastroika-szhatiya-operativnoi-pamyati-s-pomoshyu-zswap)

## Thema

## RSS-Feeds

 [ Atom 1.0](https://ra1ahq.blog/de/.atom) [ RSS](https://ra1ahq.blog/de/.rss) 

## Beliebte Schlagwörter

 [APRS](https://ra1ahq.blog/de/tag:APRS) [Antennen](https://ra1ahq.blog/de/tag:Antennen) [CW](https://ra1ahq.blog/de/tag:CW) [DX](https://ra1ahq.blog/de/tag:DX) [FM](https://ra1ahq.blog/de/tag:FM) [Fotos](https://ra1ahq.blog/de/tag:Fotos) [KW](https://ra1ahq.blog/de/tag:KW) [Linux](https://ra1ahq.blog/de/tag:Linux) [Reisen](https://ra1ahq.blog/de/tag:Reisen) [UKW](https://ra1ahq.blog/de/tag:UKW) [VHF](https://ra1ahq.blog/de/tag:VHF) [firefox](https://ra1ahq.blog/de/tag:firefox) [morse](https://ra1ahq.blog/de/tag:morse) [soundtrack](https://ra1ahq.blog/de/tag:soundtrack) [video](https://ra1ahq.blog/de/tag:video) [windows](https://ra1ahq.blog/de/tag:windows) [youtube](https://ra1ahq.blog/de/tag:youtube) [КВ](https://ra1ahq.blog/de/tag:%D0%9A%D0%92) [ТВ](https://ra1ahq.blog/de/tag:%D0%A2%D0%92) [УКВ](https://ra1ahq.blog/de/tag:%D0%A3%D0%9A%D0%92) [антенны](https://ra1ahq.blog/de/tag:%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%BD%D1%8B) [безопасность](https://ra1ahq.blog/de/tag:%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) [длинные волны](https://ra1ahq.blog/de/tag:%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [путешествия](https://ra1ahq.blog/de/tag:%D0%BF%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%8F) [религия](https://ra1ahq.blog/de/tag:%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F) [соревнования](https://ra1ahq.blog/de/tag:%D1%81%D0%BE%D1%80%D0%B5%D0%B2%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) [спутники](https://ra1ahq.blog/de/tag:%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B8) [средние волны](https://ra1ahq.blog/de/tag:%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [схемы](https://ra1ahq.blog/de/tag:%D1%81%D1%85%D0%B5%D0%BC%D1%8B) [тесты](https://ra1ahq.blog/de/tag:%D1%82%D0%B5%D1%81%D1%82%D1%8B) [трансивер](https://ra1ahq.blog/de/tag:%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80) [управление](https://ra1ahq.blog/de/tag:%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5) [фотографии](https://ra1ahq.blog/de/tag:%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8) 

## Zufälliger Post

 [ Ich werde Glück haben!](https://ra1ahq.blog/de/random) 

## Archiv der Beiträge

- [ Oktober 2026 ✒ 3 ](https://ra1ahq.blog/de/archives_month:oct_2026)
- [ September 2026 ✒ 9 ](https://ra1ahq.blog/de/archives_month:sep_2026)
- [ August 2026 ✒ 6 ](https://ra1ahq.blog/de/archives_month:aug_2026)
- [ Juli 2026 ✒ 13 ](https://ra1ahq.blog/de/archives_month:jul_2026)
- [ Juni 2026 ✒ 8 ](https://ra1ahq.blog/de/archives_month:jun_2026)
- [ Mai 2026 ✒ 2 ](https://ra1ahq.blog/de/archives_month:may_2026)
- [ April 2026 ✒ 6 ](https://ra1ahq.blog/de/archives_month:apr_2026)
- [ März 2026 ✒ 3 ](https://ra1ahq.blog/de/archives_month:mar_2026)
- [ Februar 2026 ✒ 7 ](https://ra1ahq.blog/de/archives_month:feb_2026)
- [ Januar 2026 ✒ 8 ](https://ra1ahq.blog/de/archives_month:jan_2026)
- [ Dezember 2025 ✒ 12 ](https://ra1ahq.blog/de/archives_month:dec_2025)
- [ November 2025 ✒ 9 ](https://ra1ahq.blog/de/archives_month:nov_2025)
- [ Oktober 2025 ✒ 8 ](https://ra1ahq.blog/de/archives_month:oct_2025)
- [ September 2025 ✒ 5 ](https://ra1ahq.blog/de/archives_month:sep_2025)
- [ August 2025 ✒ 8 ](https://ra1ahq.blog/de/archives_month:aug_2025)
- [ Juli 2025 ✒ 6 ](https://ra1ahq.blog/de/archives_month:jul_2025)
- [ Juni 2025 ✒ 10 ](https://ra1ahq.blog/de/archives_month:jun_2025)
- [ Mai 2025 ✒ 4 ](https://ra1ahq.blog/de/archives_month:may_2025)
- [ April 2025 ✒ 4 ](https://ra1ahq.blog/de/archives_month:apr_2025)
- [ März 2025 ✒ 4 ](https://ra1ahq.blog/de/archives_month:mar_2025)
- [ Februar 2025 ✒ 11 ](https://ra1ahq.blog/de/archives_month:feb_2025)
- [ Dezember 2024 ✒ 8 ](https://ra1ahq.blog/de/archives_month:dec_2024)
- [ November 2024 ✒ 2 ](https://ra1ahq.blog/de/archives_month:nov_2024)
- [ Oktober 2024 ✒ 8 ](https://ra1ahq.blog/de/archives_month:oct_2024)
- [ September 2024 ✒ 3 ](https://ra1ahq.blog/de/archives_month:sep_2024)
- [ August 2024 ✒ 5 ](https://ra1ahq.blog/de/archives_month:aug_2024)
- [ Juli 2024 ✒ 9 ](https://ra1ahq.blog/de/archives_month:jul_2024)
- [ Juni 2024 ✒ 6 ](https://ra1ahq.blog/de/archives_month:jun_2024)
- [ Mai 2024 ✒ 7 ](https://ra1ahq.blog/de/archives_month:may_2024)
- [ April 2024 ✒ 5 ](https://ra1ahq.blog/de/archives_month:apr_2024)
- [ März 2024 ✒ 5 ](https://ra1ahq.blog/de/archives_month:mar_2024)
- [ Februar 2024 ✒ 5 ](https://ra1ahq.blog/de/archives_month:feb_2024)
- [ Januar 2024 ✒ 6 ](https://ra1ahq.blog/de/archives_month:jan_2024)
- [ Dezember 2023 ✒ 7 ](https://ra1ahq.blog/de/archives_month:dec_2023)
- [ November 2023 ✒ 4 ](https://ra1ahq.blog/de/archives_month:nov_2023)
- [ Oktober 2023 ✒ 8 ](https://ra1ahq.blog/de/archives_month:oct_2023)
- [ September 2023 ✒ 7 ](https://ra1ahq.blog/de/archives_month:sep_2023)
- [ August 2023 ✒ 4 ](https://ra1ahq.blog/de/archives_month:aug_2023)
- [ Juli 2023 ✒ 7 ](https://ra1ahq.blog/de/archives_month:jul_2023)
- [ Juni 2023 ✒ 7 ](https://ra1ahq.blog/de/archives_month:jun_2023)
- [ Mai 2023 ✒ 5 ](https://ra1ahq.blog/de/archives_month:may_2023)
- [ April 2023 ✒ 6 ](https://ra1ahq.blog/de/archives_month:apr_2023)
- [ März 2023 ✒ 5 ](https://ra1ahq.blog/de/archives_month:mar_2023)
- [ Februar 2023 ✒ 2 ](https://ra1ahq.blog/de/archives_month:feb_2023)
- [ Januar 2023 ✒ 5 ](https://ra1ahq.blog/de/archives_month:jan_2023)
- [ Dezember 2022 ✒ 7 ](https://ra1ahq.blog/de/archives_month:dec_2022)
- [ November 2022 ✒ 8 ](https://ra1ahq.blog/de/archives_month:nov_2022)
- [ Oktober 2022 ✒ 6 ](https://ra1ahq.blog/de/archives_month:oct_2022)
- [ September 2022 ✒ 9 ](https://ra1ahq.blog/de/archives_month:sep_2022)
- [ August 2022 ✒ 8 ](https://ra1ahq.blog/de/archives_month:aug_2022)
- [ Juli 2022 ✒ 4 ](https://ra1ahq.blog/de/archives_month:jul_2022)
- [ Juni 2022 ✒ 9 ](https://ra1ahq.blog/de/archives_month:jun_2022)
- [ Mai 2022 ✒ 7 ](https://ra1ahq.blog/de/archives_month:may_2022)
- [ April 2022 ✒ 3 ](https://ra1ahq.blog/de/archives_month:apr_2022)
- [ März 2022 ✒ 4 ](https://ra1ahq.blog/de/archives_month:mar_2022)
- [ Februar 2022 ✒ 6 ](https://ra1ahq.blog/de/archives_month:feb_2022)
- [ Januar 2022 ✒ 7 ](https://ra1ahq.blog/de/archives_month:jan_2022)
- [ Dezember 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:dec_2021)
- [ November 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:nov_2021)
- [ Oktober 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:oct_2021)
- [ September 2021 ✒ 10 ](https://ra1ahq.blog/de/archives_month:sep_2021)
- [ August 2021 ✒ 6 ](https://ra1ahq.blog/de/archives_month:aug_2021)
- [ Juli 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:jul_2021)
- [ Juni 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:jun_2021)
- [ Mai 2021 ✒ 7 ](https://ra1ahq.blog/de/archives_month:may_2021)
- [ April 2021 ✒ 4 ](https://ra1ahq.blog/de/archives_month:apr_2021)
- [ März 2021 ✒ 4 ](https://ra1ahq.blog/de/archives_month:mar_2021)
- [ Februar 2021 ✒ 3 ](https://ra1ahq.blog/de/archives_month:feb_2021)
- [ Januar 2021 ✒ 4 ](https://ra1ahq.blog/de/archives_month:jan_2021)
- [ Dezember 2020 ✒ 8 ](https://ra1ahq.blog/de/archives_month:dec_2020)
- [ November 2020 ✒ 2 ](https://ra1ahq.blog/de/archives_month:nov_2020)
- [ Oktober 2020 ✒ 3 ](https://ra1ahq.blog/de/archives_month:oct_2020)
- [ September 2020 ✒ 3 ](https://ra1ahq.blog/de/archives_month:sep_2020)
- [ August 2020 ✒ 5 ](https://ra1ahq.blog/de/archives_month:aug_2020)
- [ Juli 2020 ✒ 5 ](https://ra1ahq.blog/de/archives_month:jul_2020)
- [ Juni 2020 ✒ 8 ](https://ra1ahq.blog/de/archives_month:jun_2020)
- [ Mai 2020 ✒ 10 ](https://ra1ahq.blog/de/archives_month:may_2020)
- [ April 2020 ✒ 4 ](https://ra1ahq.blog/de/archives_month:apr_2020)
- [ März 2020 ✒ 2 ](https://ra1ahq.blog/de/archives_month:mar_2020)
- [ Januar 2020 ✒ 1 ](https://ra1ahq.blog/de/archives_month:jan_2020)
- [ Dezember 2019 ✒ 2 ](https://ra1ahq.blog/de/archives_month:dec_2019)

## Suche

## Wettervorhersage

[На 14 дней](https://world-weather.ru/pogoda/russia/saint_petersburg/14days/)
[world-weather.ru](https://world-weather.ru/)

---

## Navigation

- Parent: [RA1AHQ](https://ra1ahq.blog/de/index.md)
- Previous: [Mount Kirchhof](https://ra1ahq.blog/de/gora-kirkhgof.md)
- Next: [AppArmor-Dienst startet nach der Installation von MySQL nicht – Problemlösung](https://ra1ahq.blog/de/ne-zapuskaetsya-sluzhba-apparmor-posle-ustanovki-mysql-reshenie-problemy.md)
