{"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\/da\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","title":{"rendered":"Ydeevne for Raspberry Pi: tilf\u00f8j ZRAM og \u00e6ndre kernelparametre","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>For et par uger siden offentliggjorde jeg <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/pinebook-pro-my-first-impressions-and-setup-tips\/\">en anmeldelse af Pinebook Pro<\/a><\/noindex>. Da Raspberry Pi 4 ogs\u00e5 er baseret p\u00e5 ARM, passer nogle af de optimeringer, der blev n\u00e6vnt i den forrige artikel, perfekt til den. Jeg vil gerne dele disse tricks og se, om du f\u00e5r de samme forbedringer i ydeevne.<\/p>\n<p>Efter installation af Raspberry Pi i min <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/home-lab-beginners-guide-hardware\/\">hjemmeserver<\/a><\/noindex> lagde jeg m\u00e6rke til, at den blev meget uf\u00f8lsom, og endda fr\u00f8s, i perioder med lavt hukommelsesforbrug. For at l\u00f8se dette problem tilf\u00f8jede jeg ZRAM og foretog nogle \u00e6ndringer i kernelparametrene.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Aktivering af ZRAM p\u00e5 Raspberry Pi<\/h1>\n<p>\n<img decoding=\"async\" alt=\"Ydeevne for Raspberry Pi: tilf\u00f8j ZRAM og \u00e6ndre kernelparametre\" 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> opretter et bloklager i hukommelsen med navnet \/dev\/zram0 (eller 1, 2, 3 osv.). Sider, der skrives derind, komprimeres og gemmes i hukommelsen. Dette muligg\u00f8r en hurtig ind- og udskrivning samt frigiver hukommelse ved hj\u00e6lp af komprimering.<\/p>\n<p>Raspberry Pi 4 leveres med 1, 2, 4 eller 8 GB hukommelse. Jeg vil bruge modellen med 1 GB, s\u00e5 juster vejledningen i henhold til din model. Med 1 GB vil den standard swapfil (langsom!) blive brugt sj\u00e6ldnere. Jeg brugte et s\u00e5dant script <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/foundObjects\/zram-swap\">zram-swap<\/a><\/noindex> til installation og automatisk konfiguration.<\/p>\n<p>Instruktionerne findes i depotet linket ovenfor. Installation:<\/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>\nHvis du vil redigere konfigurationen:<\/p>\n<pre><code class=\"bash\">vi \/etc\/default\/zram-swap<\/code><\/pre>\n<p>\nDerudover kan ZRAM aktiveres ved at installere <code>zram-tools<\/code>. <b>Hvis du bruger denne metode, skal du s\u00f8rge for at redigere konfigurationen<\/b> i filen <code>\/etc\/default\/zramswap<\/code>, og angive cirka 1 GB ZRAM:<\/p>\n<pre><code class=\"bash\">sudo apt install zram-tools<\/code><\/pre>\n<p>\nEfter installationen kan du se ZRAM-lagerstatistikken med f\u00f8lgende kommando:<\/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>Tilf\u00f8j kernelparametre for bedre brug af ZRAM<\/h1>\n<p>\nLad os nu forbedre systemets adf\u00e6rd, n\u00e5r Raspberry Pi skifter til swap i sidste \u00f8jeblik, hvilket ofte f\u00f8rer til at den fryser. Vi tilf\u00f8jer et par linjer i filen <b>\/etc\/sysctl.conf<\/b> og genstarter.<\/p>\n<p>Disse linjer 1) <b>udskyder den uundg\u00e5elige udt\u00f8mning af hukommelse<\/b>, hvilket \u00f8ger presset p\u00e5 kernelcachen, og 2) <b>begynder tidligere at forberede sig p\u00e5 udt\u00f8mning af hukommelse<\/b>, og initierer swap p\u00e5 forh\u00e5nd. Men dette vil v\u00e6re en langt mere effektiv swap af komprimeret hukommelse via ZRAM!<\/p>\n<p>Disse er linjer, der skal tilf\u00f8jes i slutningen af filen <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>\nDerefter genstarter vi systemet eller aktiverer \u00e6ndringerne med kommandoen:<\/p>\n<pre><code class=\"bash\">sudo sysctl --system<\/code><\/pre>\n<p>\n<b>vm.vfs_cache_pressure=500<\/b> \u00f8ger trykket p\u00e5 cachen, hvilket g\u00f8r, at kernen har en st\u00f8rre tilb\u00f8jelighed til at genopdele hukommelse, der er brugt til caching af katalog- og indexobjekter. Du vil bruge mindre hukommelse over en l\u00e6ngere periode. Det pludselige fald i ydeevne mindskes fra at bytte tidligere.<\/p>\n<p><b>vm.swappiness=100<\/b> \u00f8ger parameteren for, hvor aggressivt kernen vil bytte hukommelsessider, da vi f\u00f8rst bruger ZRAM.<\/p>\n<p><b>vm.dirty_background_ratio=1 &amp; vm.dirty_ratio=50<\/b> \u2014 baggrundsprocesserne vil begynde at skrive s\u00e5 snart gr\u00e6nsen p\u00e5 1% er n\u00e5et, men systemet vil ikke tvinge synkron ind- og uddata, f\u00f8r det n\u00e5r dirty_ratio p\u00e5 50%.<\/p>\n<p>Disse fire linjer (n\u00e5r de bruges med ZRAM) vil hj\u00e6lpe med at forbedre ydeevnen, hvis du <u>uundg\u00e5eligt<\/u> l\u00f8ber t\u00f8r for RAM, og overgangen til swap starter, som jeg gjorde. V\u00e6r klar over dette faktum, og med tanke p\u00e5 hukommelseskompression i ZRAM, er det tre gange bedre at starte denne swapping p\u00e5 forh\u00e5nd.<\/p>\n<p>Trykket p\u00e5 cachen hj\u00e6lper, fordi vi faktisk siger til kernen: \"Hej, lyt, jeg har ikke ekstra hukommelse til at bruge den til cachen, s\u00e5 venligst slip af med det hurtigere og behold kun de mest brugte\/vigtige data.\"<\/p>\n<p>Selv med reduceret caching, hvis st\u00f8rstedelen af den installerede hukommelse er optaget over tid, vil kernen begynde opportunistisk at bytte meget tidligere, s\u00e5 processoren (kompressionen) og swap I\/O'en ikke vil vente til det sidste og udnytte alle ressourcer p\u00e5 \u00e9n gang, n\u00e5r det allerede er for sent. ZRAM bruger lidt CPU til kompression, men i de fleste systemer med lav hukommelse p\u00e5virker det ydeevnen meget mindre end at bytte uden ZRAM.<\/p>\n<h1>Afslutningsvis<\/h1>\n<p>\nLad os se resultatet endnu en gang:<\/p>\n<pre><code class=\"plaintext\">pi@raspberrypi:~ $ free -h\ntotal used free shared buff\/cache available\nMem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi\nSwap: 1.2Gi 258Mi 999Mi\n\npi@raspberrypi:~ $ sudo cat \/proc\/swaps \nFilename Type Size Used Priority\n\/var\/swap file 102396 0 -2\n\/dev\/zram0 partition 1185368 264448 5<\/code><\/pre>\n<p>\n264448 i ZRAM svarer til n\u00e6sten en gigabyte ukomprimerede data. Alt gik til ZRAM, og intet kom ind i den meget langsommere swapfil. Pr\u00f8v disse indstillinger selv, de fungerer p\u00e5 alle modeller af Raspberry Pi. Mit ubrugelige system, der fr\u00f8s, er blevet til et fungerende og stabilt system.<\/p>\n<p>I den n\u00e6rmeste fremtid h\u00e5ber jeg at forts\u00e6tte og opdatere denne artikel med nogle resultater fra test af systemet f\u00f8r og efter installation af ZRAM. Jeg har bare ikke tiden lige nu. Indtil da, t\u00f8v ikke med at udf\u00f8re dine egne tests og lad mig vide i kommentarerne. Raspberry Pi 4 er virkelig en kraftfuld maskine med disse indstillinger. Nyd det!<\/p>\n<blockquote><p><b>Om emnet:<\/b><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-space\/\">Linux-ydeevne: hvorfor det n\u00e6sten altid er n\u00f8dvendigt at \u00f8ge swapomr\u00e5det<\/a><\/noindex> (2017)\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-part2-zram\/\">Linux-ydeevne: \u00f8g altid swapomr\u00e5det. Del 2: ZRAM<\/a><\/noindex> (2020)<\/li>\n<\/ul>\n<\/blockquote>\n<p>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Ydeevne for Raspberry Pi: tilf\u00f8j ZRAM og juster kernelindstillinger | ProHoster","description":"For et par uger siden offentliggjorde jeg en anmeldelse af Pinebook Pro.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/83511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=83511"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/83511\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/83512"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=83511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=83511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=83511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}