{"id":83511,"date":"2020-06-01T07:42:29","date_gmt":"2020-06-01T05:42:29","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra"},"modified":"2020-06-01T07:42:29","modified_gmt":"2020-06-01T05:42:29","slug":"proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","title":{"rendered":"Prestaties van Raspberry Pi: ZRAM toevoegen en kernelparameters aanpassen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Een paar weken geleden heb ik <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/pinebook-pro-my-first-impressions-and-setup-tips\/\">een review van de Pinebook Pro<\/a><\/noindex>. Aangezien de Raspberry Pi 4 ook op ARM is gebaseerd, zijn sommige van de optimalisaties die in het vorige artikel zijn genoemd heel geschikt voor haar. Ik wil deze trucs delen en ontdekken of jullie ook dezelfde prestatiewinst ervaren.<\/p>\n<p>Na de installatie van de Raspberry Pi in mijn <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/home-lab-beginners-guide-hardware\/\">thuisserver<\/a><\/noindex> merkte ik dat ze bij momenten van geheugen tekort erg traag werd en zelfs bevroren. Om dit probleem op te lossen, heb ik ZRAM toegevoegd en enkele aanpassingen aan de kernelparameters aangebracht.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>ZRAM activeren op de Raspberry Pi<\/h1>\n<p>\n<img decoding=\"async\" alt=\"Prestaties van Raspberry Pi: ZRAM toevoegen en kernelparameters aanpassen\" src=\"\/wp-content\/uploads\/2020\/06\/d5e0d7c2e50dd17a97f008c7ee6dfe30.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/blockdev\/zram.txt\">ZRAM<\/a><\/noindex> cre\u00ebert een blokopslag in het RAM-geheugen met de naam \/dev\/zram0 (of 1, 2, 3 enz.). De opgeslagen pagina's worden gecomprimeerd en in het geheugen bewaard. Dit zorgt voor zeer snelle invoer-\/uitvoer en vrijmaakt geheugen door compressie.<\/p>\n<p>De Raspberry Pi 4 is verkrijgbaar met 1, 2, 4 of 8 GB RAM. Ik ga de 1 GB-versie gebruiken, dus pas de instructies aan op basis van je model. Met 1 GB zal het standaard swapbestand (langzaam!) minder vaak worden gebruikt. Ik heb het volgende script gebruikt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/foundObjects\/zram-swap\">zram-swap<\/a><\/noindex> voor de installatie en automatische configuratie.<\/p>\n<p>De instructies zijn te vinden in de repository via de bovenstaande link. Installatie:<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/foundObjects\/zram-swap.git\ncd zram-swap &amp;&amp; sudo .\/install.sh<\/code><\/pre>\n<p>\nAls je het configuratiebestand wilt bewerken:<\/p>\n<pre><code class=\"bash\">vi \/etc\/default\/zram-swap<\/code><\/pre>\n<p>\nDaarnaast kan ZRAM geactiveerd worden door <code>zram-tools<\/code>. <b>te installeren. Als je deze methode gebruikt, bewerk dan zeker het configuratiebestand<\/b> in het bestand <code>\/etc\/default\/zramswap<\/code>, en stel ongeveer 1 GB ZRAM in:<\/p>\n<pre><code class=\"bash\">sudo apt install zram-tools<\/code><\/pre>\n<p>\nNa de installatie kun je de statistieken van de ZRAM-opslag bekijken met de volgende opdracht:<\/p>\n<pre><code class=\"bash\">sudo cat \/proc\/swaps\nFilename\t\t\t\tType\t\tSize\tUsed\tPriority\n\/var\/swap                               file\t\t102396\t0\t-2\n\/dev\/zram0                              partition\t1185368\t265472\t5\npi@raspberrypi:~ $<\/code><\/pre>\n<p><\/p>\n<h1>Kernelparameters toevoegen voor beter gebruik van ZRAM<\/h1>\n<p>\nLaten we nu het gedrag van het systeem verbeteren wanneer de Raspberry Pi op het laatste moment naar swap gaat, wat vaak leidt tot vastlopers. We voegen een paar regels toe aan het bestand <b>\/etc\/sysctl.conf<\/b> en herstarten.<\/p>\n<p>Deze regels 1) <b>vertragen het onvermijdelijke geheugen tekort<\/b>, verhogen de druk op de kernelcache en 2) <b>beginnen eerder met voorbereidingen voor geheugen tekort<\/b>, door swap voorafgaand te initieren. Maar dit zal een veel effectievere swap van gecomprimeerd geheugen zijn via ZRAM!<\/p>\n<p>Hier zijn de regels die aan het einde van het bestand moeten worden toegevoegd: <b>\/etc\/sysctl.conf<\/b>:<\/p>\n<pre><code class=\"plaintext\">vm.vfs_cache_pressure=500\nvm.swappiness=100\nvm.dirty_background_ratio=1\nvm.dirty_ratio=50<\/code><\/pre>\n<p>\nHerstart het systeem of activeer de wijzigingen met de volgende opdracht:<\/p>\n<pre><code class=\"bash\">sudo sysctl --system<\/code><\/pre>\n<p>\n<b>vm.vfs_cache_pressure=500<\/b> verhoogt de druk op de cache, wat de neiging van de kernel vergroot om het geheugen dat voor het cachen van directory- en indexobjecten wordt gebruikt, weer te recyclen. Je gebruikt minder geheugen over een langere periode. Een scherpe daling van de prestaties wordt tegengegaan door eerder te swappen.<\/p>\n<p><b>vm.swappiness=100<\/b> verhoogt de parameter waarmee de kernel agressiever pagina's uit het geheugen gaat swappen, omdat we eerst ZRAM gebruiken.<\/p>\n<p><b>vm.dirty_background_ratio=1 &amp; vm.dirty_ratio=50<\/b> \u2014 achtergrondprocessen beginnen onmiddellijk met schrijven zodra de limiet van 1% is bereikt, maar het systeem zal geen gedwongen synchronieuze I\/O uitvoeren totdat het de dirty_ratio van 50% bereikt.<\/p>\n<p>Deze vier regels (in combinatie met ZRAM) zullen helpen om de prestaties te verbeteren wanneer je <u>onvermijdelijk<\/u> uitvoeringgeheugen raakt en begint met swappen, zoals bij mij. Wetende dat dit feit zich voordoet, en gezien het feit dat de compressie van geheugen in ZRAM drie keer beter is, is het beter om met swappen eerder te beginnen.<\/p>\n<p>Druk op de cache helpt, omdat we de kernel in feite zeggen: \"H\u00e9, luister, ik heb geen extra geheugen om voor cache te gebruiken, dus laat het alsjeblieft zo snel mogelijk los en bewaar alleen de meest gebruikte\/belangrijke gegevens.\"<\/p>\n<p>Zelfs met verminderde caching, als in de loop van de tijd het merendeel van het ge\u00efnstalleerde geheugen vol raakt, zal de kernel veel eerder opportunistisch gaan swappen, zodat de processor (compressie) en I\/O van swap niet tot het laatst worden doorgetrokken en alle middelen tegelijkertijd worden aangesproken wanneer het al te laat is. ZRAM gebruikt een beetje CPU voor compressie, maar in de meeste systemen met weinig geheugen heeft dit veel minder invloed op de prestaties dan swappen zonder ZRAM.<\/p>\n<h1>Ter conclusie<\/h1>\n<p>\nLaten we nogmaals naar het resultaat kijken:<\/p>\n<pre><code class=\"plaintext\">pi@raspberrypi:~ $ free -h\ntotaal gebruikt vrij gedeeld buff\/cache beschikbaar\nGeheugen: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi\nSwap: 1.2Gi 258Mi 999Mi\n\npi@raspberrypi:~ $ sudo cat \/proc\/swaps\nBestandsnaam Type Grootte Gebruikt Prioriteit\n\/var\/swap bestand 102396 0 -2\n\/dev\/zram0 partitie 1185368 264448 5<\/code><\/pre>\n<p>\n264448 in ZRAM \u2014 dat is bijna \u00e9\u00e9n gigabyte ongecomprimeerde gegevens. Alles ging naar ZRAM en niets kwam in het veel langzamere swapbestand terecht. Probeer deze instellingen zelf, ze werken op alle modellen van de Raspberry Pi. Mijn onwerkbare systeem is veranderd in een werkbare en stabiele.<\/p>\n<p>In de nabije toekomst hoop ik deze artikel te vervolgen en bij te werken met enkele testresultaten van het systeem voor en na de installatie van ZRAM. Op dit moment heb ik daar gewoon de tijd niet voor. Voel je ondertussen vrij om je eigen tests uit te voeren en laat het me weten in de opmerkingen. Raspberry Pi 4 is gewoon een beest met dergelijke instellingen. Geniet ervan!<\/p>\n<blockquote><p><b>Over dit onderwerp:<\/b><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-space\/\">Linux-prestaties: waarom je bijna altijd de swapgrootte moet verhogen<\/a><\/noindex> (2017)\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-part2-zram\/\">Linux-prestaties: verhoog bijna altijd de swapgrootte. Deel 2: ZRAM<\/a><\/noindex> (2020)<\/li>\n<\/ul>\n<\/blockquote>\n<p>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/504468\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0431\u0437\u043e\u0440 Pinebook Pro. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 Raspberry Pi 4 \u0442\u043e\u0436\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 ARM, \u0442\u043e \u0434\u043b\u044f \u043d\u0435\u0451 \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u0425\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u0438\u043c\u0438 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u0443\u0437\u043d\u0430\u0442\u044c, \u043f\u0440\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Raspberry Pi \u0432 \u0441\u0432\u043e\u044e \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e \u044f \u0437\u0430\u043c\u0435\u0442\u0438\u043b, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83512,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83511","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0431\u0437\u043e\u0440 Pinebook Pro.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c Raspberry Pi: \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ZRAM \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0431\u0437\u043e\u0440 Pinebook Pro.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-01T05:42:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-01T05:42:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Prestaties van Raspberry Pi: we voegen ZRAM toe en passen de kernelparameters aan | ProHoster","description":"Een paar weken geleden publiceerde ik een beoordeling van de Pinebook Pro.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c Raspberry Pi: \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ZRAM \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 | ProHoster","og:description":"\u041f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0431\u0437\u043e\u0440 Pinebook Pro.","og:url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-01T05:42:29+00:00","article:modified_time":"2020-06-01T05:42:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83511","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:16:22","updated":"2022-09-29 22:32:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/83511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=83511"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/83511\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/83512"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=83511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=83511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=83511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}