{"id":1820,"date":"2023-09-09T17:59:17","date_gmt":"2023-09-09T15:59:17","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=1820"},"modified":"2023-09-09T17:59:20","modified_gmt":"2023-09-09T15:59:20","slug":"bessere-nutzung-des-arbeitsspeichers-unter-linux-mit-zram","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/09\/bessere-nutzung-des-arbeitsspeichers-unter-linux-mit-zram\/","title":{"rendered":"Bessere Nutzung des Arbeitsspeichers unter Linux mit zRAM"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Auf Rechnern mit weniger Arbeitsspeicher wird dieser schnell knapp. Selbst wenn man Linux mit einer schlanken Desktop-Umgebung installiert &#8211; startet man etwa Firefox und Thunderbird, sind zwei oder vier Gigabyte RAM schnell ausgelastet und das System legt Daten in die SWAP-Partition oder in die SWAP-Datei &#8211; das System wird langsamer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier hilft eine Linux-Kernel-Technik namens zRAM. zRAM erstellt ein sogenanntes virtuelles Blockger\u00e4t im Arbeitsspeicher &#8211; dieser bleibt reserviert, wird also nicht belegt. Erst, wenn der Arbeitsspeicher knapp wird, beginnt der Kernel Daten aus dem RAM &#8211; also aus dem Arbeitsspeicher in den reservierten Block von zRAM zu verlegen. Die Daten im Zram-Block sind komprimiert und ben\u00f6tigen dadurch weniger Platz &#8211; die Daten m\u00fcssen zwar aus dem RAM in den Zram komprimiert und wieder dekomprimiert werden &#8211; da der RAM jedoch \u00e4u\u00dferst schnell ist, bemerkt man von diesem Vorgang fast gar nichts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Probleme mit zRAM sind mir keine bekannt. Lediglich unter Ubuntu \/ Mint k\u00f6nnte es in Zusammenhang mit gewissen Grafikkarten-Desktop-Umgebung-Kombinationen zu Fehlern in der grafischen Darstellung kommen (<em>wird berichtet, um welche Kombinationen es sich handelt ist mir nicht bekannt &#8211; in solchen F\u00e4llen Zram einfach wieder deinstallieren<\/em>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zRAM installieren und nutzen<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unter direkt auf Debian basierenden Linux-Distributionen installieren Sie ganz einfach \u00fcber die\u00a0Paket-Verwaltung\u00a0das Paket &#8222;<strong>zram-tools<\/strong>&#8222;, unter auf Ubuntu basierenden Systemen das Paket &#8222;<strong>zram-config<\/strong>&#8222;. Am einfachsten gelingt dies \u00fcber die grafische Paket-Verwaltung Synaptic oder als Administrator am\u00a0Terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install zram-tools<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unter anderen Linux-Distributionen suchen Sie in der Paket-Verwaltung ganz einfach nach dem Begriff &#8222;<strong>zram<\/strong>&#8222;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mehr ist unter Linux-Distributionen mit\u00a0<a href=\"https:\/\/linux-bibel.at\/index.php\/2023\/09\/03\/systemd-die-steuerzentrale-von-linux\/\" data-type=\"post\" data-id=\"783\">Systemd<\/a>\u00a0nicht n\u00f6tig. Starten Sie als Administrator am Terminal den Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>swapon -s<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Eine \u00e4hnliche Ausgabe wie folgende zeigt, dass Zram aktiv ist:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/dev\/zram0                              partition       262140          0               100<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram-1024x576.jpg\" alt=\"\" class=\"wp-image-1821\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/zram.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unter Systemen ohne Systemd gilt es erst ein Init-Script zu erstellen, dieses ausf\u00fchrbar zu machen und als Administrator nach &#8222;<em>\/etc\/init.d\/<\/em>&#8220; zu verschieben. F\u00fcr Devuan legt man sich etwa folgende Datei an &#8222;<strong>zram<\/strong>&#8220; mit folgendem Inhalt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FRACTION=75\nMEMORY=$(perl -ne '\/^MemTotal:\\s+(\\d+)\/ &amp;&amp; print $1*1024' &lt; \/proc\/meminfo)\nCPUS=$(nproc)\nSIZE=$((MEMORY * FRACTION \/ 100 \/ CPUS))\n\ncase \"$1\" in\n    start)\n        param=$(modinfo zram | grep num_devices | cut -f2 -d: | tr -d ' ')\n        modprobe zram $param=$CPUS\n\n        for n in $(seq $CPUS)\n        do\n            i=$((n - 1))\n            echo $SIZE &gt; \/sys\/block\/zram$i\/disksize\n            mkswap \/dev\/zram$i\n            swapon \/dev\/zram$i --priority 10\n        done\n        ;;\n    stop)\n        for n in $(seq $CPUS)\n        do\n            i=$((n - 1))\n            swapoff \/dev\/zram$i &amp;&amp; echo \"zram: disabled disk $n of $CPUS\" &amp;\n        done\n\n        wait\n        sleep .5\n        modprobe --remove zram\n        ;;\n    *)\n        echo \"Usage: $(basename $0) (start | stop)\"\n        exit 1\n        ;;\nesac<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nun verschiebt man diese Datei als Administrator am Terminal in das angegebene Verzeichnis und macht sie ausf\u00fchrbar. Anschlie\u00dfend installieren Sie das unten angegebene Paket und weisen dem System den automatischen Start des Scripts zu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv zram \/etc\/init.d\/\nchmod +x \/etc\/init.d\/zram\napt install insserv\ninsserv zram<\/code><\/pre>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"1820\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">5    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"1820\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\">1<\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Auf Rechnern mit weniger Arbeitsspeicher wird dieser schnell knapp. Selbst wenn man Linux mit einer schlanken Desktop-Umgebung installiert &#8211; startet man etwa Firefox und Thunderbird, sind zwei oder vier Gigabyte RAM schnell ausgelastet und das System legt Daten in die SWAP-Partition oder in die SWAP-Datei &#8211; das System wird langsamer. Hier hilft eine Linux-Kernel-Technik namens [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":763,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[15],"class_list":["post-1820","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system","tag-system"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=1820"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1820\/revisions"}],"predecessor-version":[{"id":1822,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1820\/revisions\/1822"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/763"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=1820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=1820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=1820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}