{"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\/it\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","title":{"rendered":"Prestazioni del Raspberry Pi: aggiungiamo ZRAM e modifichiamo i parametri del kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Un paio di settimane fa ho pubblicato <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/pinebook-pro-my-first-impressions-and-setup-tips\/\">una recensione del Pinebook Pro<\/a><\/noindex>. Poich\u00e9 anche Raspberry Pi 4 \u00e8 basato su ARM, alcune delle ottimizzazioni menzionate nell'articolo precedente si adattano bene. Vorrei condividere questi trucchi e vedere se anche a voi si presenteranno simili miglioramenti delle prestazioni.<\/p>\n<p>Dopo aver installato Raspberry Pi nel mio <noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/home-lab-beginners-guide-hardware\/\">server domestico<\/a><\/noindex> , ho notato che nei momenti di carenza di memoria RAM diventava molto poco reattiva e persino si bloccava. Per risolvere questo problema, ho aggiunto ZRAM e apportato alcune modifiche ai parametri del kernel.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Attivazione di ZRAM su Raspberry Pi<\/h1>\n<p>\n<img decoding=\"async\" alt=\"Prestazioni del Raspberry Pi: aggiungiamo ZRAM e modifichiamo i parametri del kernel\" 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> crea nella memoria RAM uno storage a blocchi chiamato \/dev\/zram0 (o 1, 2, 3, ecc.). Le pagine scritte qui vengono compresse e conservate in memoria. Ci\u00f2 consente di garantire un input\/output molto veloce e libera memoria attraverso la compressione.<\/p>\n<p>Raspberry Pi 4 \u00e8 disponibile con 1, 2, 4 o 8 GB di memoria RAM. Utilizzer\u00f2 il modello da 1 GB, quindi correttore l'istruzione in base al tuo modello. Con 1 GB, il file di swap predefinito (lento!) verr\u00e0 utilizzato meno frequentemente. Ho usato uno script <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/foundObjects\/zram-swap\">zram-swap<\/a><\/noindex> per installare e configurare automaticamente.<\/p>\n<p>Le istruzioni sono nel repository al link sopra. Installazione:<\/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>\nSe desideri modificare la configurazione:<\/p>\n<pre><code class=\"bash\">vi \/etc\/default\/zram-swap<\/code><\/pre>\n<p>\nInoltre, puoi attivare ZRAM installando <code>zram-tools<\/code>. <b>Se utilizzi questo metodo, assicurati di modificare la configurazione<\/b> nel file <code>\/etc\/default\/zramswap<\/code>, e imposta circa 1 GB di ZRAM:<\/p>\n<pre><code class=\"bash\">sudo apt install zram-tools<\/code><\/pre>\n<p>\nDopo l'installazione puoi visualizzare le statistiche dello storage ZRAM con il seguente comando:<\/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>Aggiungiamo i parametri del kernel per un migliore utilizzo di ZRAM<\/h1>\n<p>\nOra correggiamo il comportamento del sistema quando Raspberry Pi passa a swap all'ultimo momento, il che spesso porta a bloccaggi. Aggiungiamo alcune righe nel file <b>\/etc\/sysctl.conf<\/b> e riavviamo.<\/p>\n<p>Queste righe 1) <b>ritarderanno l'inevitabile esaurimento della memoria<\/b>, aumentando la pressione sulla cache del kernel e 2) <b>inizieranno prima la preparazione per l'esaurimento della memoria<\/b>, avviando anticipatamente lo swap. Ma sar\u00e0 uno swap della memoria compressa molto pi\u00f9 efficiente tramite ZRAM!<\/p>\n<p>Ecco le righe che devi aggiungere alla fine del file <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>\nPoi riavviamo il sistema o attiviamo le modifiche con il seguente comando:<\/p>\n<pre><code class=\"bash\">sudo sysctl --system<\/code><\/pre>\n<p>\n<b>vm.vfs_cache_pressure=500<\/b> aumenta la pressione sulla cache, il che aumenta la propensione del kernel alla ricollocazione della memoria utilizzata per la cache degli oggetti delle directory e degli indici. Utilizzerai meno memoria per un periodo di tempo pi\u00f9 lungo. Un brusco calo delle prestazioni viene annullato da un swapping anticipato.<\/p>\n<p><b>vm.swappiness=100<\/b> aumenta il parametro su quanto aggressivamente il kernel scambier\u00e0 le pagine di memoria, poich\u00e9 stiamo prima usando ZRAM.<\/p>\n<p><b>vm.dirty_background_ratio=1 &amp; vm.dirty_ratio=50<\/b> \u2014 i processi in background inizieranno a scrivere non appena viene raggiunto il limite dell'1%, ma il sistema non eseguir\u00e0 forzatamente I\/O sincrono fino a quando non verr\u00e0 raggiunto dirty_ratio del 50%.<\/p>\n<p>Queste quattro righe (utilizzando ZRAM) aiuteranno a migliorare le prestazioni se hai <u>inevitabilmente<\/u> esaurito la memoria RAM e inizia a passare allo swapping, come \u00e8 successo a me. Sapendo questo, e considerando la compressione della memoria in ZRAM, \u00e8 meglio iniziare questo swapping in anticipo.<\/p>\n<p>La pressione sulla cache \u00e8 utile perch\u00e9 stiamo effettivamente dicendo al kernel: \"Ehi, ascolta, non ho memoria extra da usare per la cache, quindi per favore liberati di essa il prima possibile e conserva solo i dati pi\u00f9 usati\/importanti.\"<\/p>\n<p>Anche riducendo la caching, se nel tempo gran parte della memoria disponibile \u00e8 occupata, il kernel inizier\u00e0 a swap opportunisticamente molto prima, quindi il processore (compressione) e l'I\/O di swapping non si tratterranno fino all'ultimo e non impegneranno tutte le risorse contemporaneamente quando sar\u00e0 gi\u00e0 troppo tardi. ZRAM utilizza un po' di CPU per la compressione, ma nella maggior parte dei sistemi con poca memoria ha molto meno impatto sulle prestazioni rispetto allo swapping senza ZRAM.<\/p>\n<h1>In conclusione<\/h1>\n<p>\nRivediamo il risultato:<\/p>\n<pre><code class=\"plaintext\">pi@raspberrypi:~ $ free -h\ntotale usato libero condiviso buff\/cache disponibile\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 in ZRAM \u00e8 quasi un gigabyte di dati non compressi. Tutto \u00e8 andato in ZRAM e nulla \u00e8 finito nel file di swap molto pi\u00f9 lento. Prova queste impostazioni, funzionano su tutti i modelli di Raspberry Pi. Il mio sistema con problemi di blocco \u00e8 diventato funzionante e stabile.<\/p>\n<p>Nel prossimo futuro spero di continuare e aggiornare questo articolo con alcuni risultati dei test del sistema prima e dopo l'installazione di ZRAM. Al momento non ho semplicemente tempo per farlo. Nel frattempo, non esitate a eseguire i vostri test e fatemi sapere nei commenti. Il Raspberry Pi 4 \u00e8 davvero potente con queste impostazioni. Buon divertimento!<\/p>\n<blockquote><p><b>A proposito:<\/b><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-space\/\">Prestazioni di Linux: perch\u00e9 \u00e8 quasi sempre necessario aumentare lo spazio di swap<\/a><\/noindex> (2017)\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/haydenjames.io\/linux-performance-almost-always-add-swap-part2-zram\/\">Prestazioni di Linux: aumenta quasi sempre lo spazio di swap. Parte 2: ZRAM<\/a><\/noindex> (2020)<\/li>\n<\/ul>\n<\/blockquote>\n<p>Fonte: <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.1.1 - 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\/it\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47 Prestazioni del Raspberry Pi: aggiungiamo ZRAM e modifichiamo i parametri del kernel | ProHoster","description":"Alcune settimane fa ho pubblicato una recensione del Pinebook Pro.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/proizvoditelnost-raspberry-pi-dobavlyaem-zram-i-izmenyaem-parametry-yadra","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/83511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=83511"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/83511\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/83512"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=83511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=83511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=83511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}