{"id":20866,"date":"2026-08-21T15:06:21","date_gmt":"2026-08-21T13:06:21","guid":{"rendered":"https:\/\/webhosting.de\/vm-swappiness-optimieren-linux-hosting-server-tuning-swap\/"},"modified":"2026-08-21T15:06:21","modified_gmt":"2026-08-21T13:06:21","slug":"ottimizzazione-dello-swappiness-su-vm-hosting-linux-messa-a-punto-del-server-swap","status":"publish","type":"post","link":"https:\/\/webhosting.de\/it\/vm-swappiness-optimieren-linux-hosting-server-tuning-swap\/","title":{"rendered":"Impostare correttamente il parametro vm.swappiness per ottenere prestazioni ottimali del server"},"content":{"rendered":"<p>Ti mostrer\u00f2 come impostare vm.swappiness in modo che i servizi web e di database sui server di hosting rispondano pi\u00f9 rapidamente e generino meno operazioni di I\/O. Grazie a passaggi chiari, valori iniziali ottimali e un monitoraggio adeguato, potrai sfruttare al meglio la RAM disponibile e ridurre <strong>Latenze<\/strong> e impedisci lo swapping superfluo.<\/p>\n\n<h2>Punti centrali<\/h2>\n\n<p>Questi punti ti offrono una rapida panoramica per una messa a punto immediatamente applicabile.<\/p>\n<ul>\n  <li><strong>Comportamento di Swappiness<\/strong>: Determina con quale anticipo il kernel sposta la RAM nello spazio di swap.<\/li>\n  <li><strong>Riferimento al carico di lavoro<\/strong>: Adattare i valori al tipo di applicazione, ad esempio database o web.<\/li>\n  <li><strong>Prova temporanea<\/strong>: Prima verificare dal vivo, poi fissare in modo definitivo.<\/li>\n  <li><strong>Layout dello swap<\/strong>: Tenere conto delle dimensioni, del contesto e delle priorit\u00e0.<\/li>\n  <li><strong>Monitoraggio<\/strong>: Monitorare e regolare I\/O, RAM e tempi di risposta.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/optimale-servereinstellung-5932.png\" alt=\"Server configurato in modo ottimale per prestazioni eccezionali\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Che cos\u2019\u00e8 vm.swappiness e come funziona<\/h2>\n\n<p>Il parametro del kernel <strong>vm.swappiness<\/strong> Determina con quale intensit\u00e0 Linux sposta le pagine di memoria dalla RAM allo swap. Puoi trovare il valore attuale nel pseudo-filesystem in \/proc\/sys\/vm\/swappiness e modificarlo sia temporaneamente che in modo permanente. Un valore elevato comporta uno spostamento pi\u00f9 rapido nella partizione di swap, mentre un valore basso mantiene i dati pi\u00f9 a lungo nella RAM. L\u2019obiettivo \u00e8 trovare un buon equilibrio tra utilizzo della RAM, cache delle pagine e comportamento controllato dello swap. Tengo presente che la RAM \u00e8 molto pi\u00f9 veloce di qualsiasi SSD, quindi preferisco <strong>Memoria di lavoro<\/strong> chiaramente prima dello swap.<\/p>\n\n<h2>Perch\u00e9 Swappiness \u00e8 importante sui server di hosting<\/h2>\n\n<p>Sui server web e applicativi, l'impostazione di <strong>Scambismo<\/strong> in termini di tempi di risposta e throughput. Uno swapping aggressivo genera un carico I\/O aggiuntivo e rallenta le richieste, soprattutto in caso di carichi di lavoro intensivi dal punto di vista del database. Valori troppo bassi comportano invece il rischio di successivi eventi OOM, che terminano bruscamente i processi. Pertanto, oltre alla RAM e allo swap, valuto anche i picchi di carico tipici, le cache e i modelli di richiesta. Riducendo le latenze, si evitano i rallentamenti e si mantengono le transazioni in modo percepibile <strong>liquido<\/strong>.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/servermeeting_swappiness_3847.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Raccomandazioni in base al carico di lavoro<\/h2>\n\n<p>Raramente un unico valore si adatta a tutti gli scenari, quindi parto da intervalli collaudati nella pratica e poi li adeguo in base ai dati di misurazione. I database traggono vantaggio da impostazioni molto basse, mentre i server web puri spesso tollerano valori leggermente pi\u00f9 alti. I sistemi di test o di sviluppo possono funzionare pi\u00f9 vicini allo standard, poich\u00e9 la praticit\u00e0 gioca un ruolo pi\u00f9 importante. Utilizzo lo schema seguente come approccio pragmatico per <strong>Ospitare<\/strong>-Carichi di lavoro. Successivamente, monitoro l'I\/O, l'utilizzo dello swap e i tempi di risposta, apportando le modifiche necessarie in base alle esigenze.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Carico di lavoro<\/th>\n      <th>Swappiness consigliata<\/th>\n      <th>Obiettivo<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td><strong>Banche dati<\/strong> (MySQL, PostgreSQL)<\/td>\n      <td>0\u201310<\/td>\n      <td>Mantenere la cache nella RAM, ridurre al minimo le latenze<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>In tempo reale\/a bassa latenza<\/strong><\/td>\n      <td>0\u201310<\/td>\n      <td>Evitare i picchi di I\/O grazie allo swap<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Server web<\/strong> con cache<\/td>\n      <td>10\u201320 (in alcuni casi 10\u201330)<\/td>\n      <td>Spostare le pagine fredde, mantenere le richieste attive nella RAM<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Sviluppo\/Test<\/strong><\/td>\n      <td>30\u201360<\/td>\n      <td>Comfort e stabilit\u00e0 prima della latenza<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Verifica il valore attuale<\/h2>\n\n<p>Prima di modificare i valori, leggo lo stato e ne prendo nota <strong>Linea di base<\/strong>. A tal fine utilizzo il comando `cat \/proc\/sys\/vm\/swappiness` oppure `sysctl vm.swappiness`; entrambi restituiscono un valore pari a 60. Parallelamente, con il comando `free -h` controllo l\u2019utilizzo della RAM e dello swap. Con swapon \u2013show identifico le dimensioni, la priorit\u00e0 e il supporto dei dispositivi di swap attivi. Questi dati iniziali mi aiutano a valutare gli effetti in un secondo momento <strong>allocare<\/strong> essere in grado di.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/server-optimierung-swappiness-4287.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Provare temporaneamente invece di apportare subito modifiche definitive<\/h2>\n\n<p>Prover\u00f2 prima Swappiness in via sperimentale, per vedere le reazioni in condizioni reali <strong>Carico<\/strong> da osservare. Il comando `sysctl vm.swappiness=10` ha effetto immediato, ma dura solo fino al riavvio. Durante i test osservo `top` o `htop`, controllo `vmstat` e `iostat` e misuro i tempi di risposta dei servizi. Se il tasso di swap si riduce e le latenze rimangono stabili, procedo con incrementi ragionevoli. Solo quando le metriche risultano convincenti, scrivo il valore <strong>permanente<\/strong> fisso.<\/p>\n\n<h2>Configura in modo permanente<\/h2>\n\n<p>Se il valore di prova \u00e8 corretto, lo inserisco in un file di configurazione sysctl e ricarico le impostazioni. Nel file \/etc\/sysctl.conf aggiungo la riga vm.swappiness=10 e la attivo con sysctl -p. Per maggiore chiarezza, preferisco creare un file separato nella directory \/etc\/sysctl.d\/, ad esempio 99-swappiness.conf, e ricaricare le impostazioni con sysctl \u2013system. Questo approccio si presta bene alla gestione delle versioni e all\u2019integrazione in processi automatizzati. Una panoramica approfondita sui parametri correlati \u00e8 disponibile in questo articolo su <a href=\"https:\/\/webhosting.de\/it\/ottimizzazione-delle-prestazioni-dei-server-di-web-hosting-tramite-sysctl\/\">messa a punto di sysctl<\/a>, che mi aiuta a organizzare le modifiche e <strong>Chiarezza<\/strong> porta.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/serverperformance_8432.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Dimensione dello swap, struttura della memoria e supporti di dati<\/h2>\n\n<p>La \"swappiness\" non agisce mai in modo isolato, per questo valuto le dimensioni e la posizione del <strong>Scambio<\/strong> sempre. Uno spazio di swap insufficiente si riempie rapidamente, mentre uno sovradimensionato allunga le fasi di I\/O in condizioni di carico elevato. Su SSD o NVMe lo swap \u00e8 pi\u00f9 veloce che su HDD, ma la RAM rimane comunque superiore di diversi ordini di grandezza. L\u2019utilizzo di pi\u00f9 dispositivi di swap con priorit\u00e0 definite aiuta a sfruttare per primo il supporto pi\u00f9 veloce. Chi desidera approfondire i pro e i contro trover\u00e0 in questa panoramica su <a href=\"https:\/\/webhosting.de\/it\/lo-swap-nellhosting-e-utile-o-e-un-killer-delle-prestazioni-ramboost\/\">Swap nell'hosting<\/a> spunti di riflessione utili per la <strong>Pratica<\/strong>.<\/p>\n\n<h2>Flusso di lavoro in studio: passo dopo passo<\/h2>\n\n<p>Comincio con un\u2019analisi della situazione attuale: registro il valore attuale di Swappiness, l\u2019utilizzo della RAM e dello swap, della CPU e dell\u2019I\/O e li salvo come <strong>Riferimento<\/strong> Salvo. Successivamente classifichiamo il carico di lavoro: prevalentemente database, web con cache, operativit\u00e0 mista o containerizzata. Infine definiamo un obiettivo: per i database 0\u201310, per il web solitamente 10\u201320, per i carichi misti procediamo con cautela. Imposto il valore in modo temporaneo, osservo diverse fasi di carico e confronto le metriche. Se il quadro risulta coerente pi\u00f9 volte, fisso il valore, documento la modifica e la verifico in seguito a cambiamenti del kernel, dell\u2019hardware o <strong>Rilascio<\/strong>-Cambiare di nuovo.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/serverperformance_vm_4512.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Scenari specifici: container, macchine virtuali e cloud<\/h2>\n\n<p>Nei container e nelle macchine virtuali valuto lo swappiness a livello di host e di guest <strong>insieme<\/strong> . Le piattaforme di orchestrazione come Kubernetes traggono solitamente vantaggio da impostazioni molto basse sui nodi worker, al fine di mantenere basse le latenze dei pod. Nelle VM imposto internamente valori adeguati, ma mi assicuro che l\u2019hypervisor non agisca in modo contrastante. Nelle configurazioni cloud elastiche, i valori conservativi aiutano a livellare i picchi fino a quando la scalabilit\u00e0 non entra in azione. Evito che un singolo container, a causa di un\u2019intensa attivit\u00e0 di swap, influenzi l\u2019intero <strong>Piattaforma<\/strong> rallenta.<\/p>\n\n<h2>Monitoraggio e risoluzione dei problemi<\/h2>\n\n<p>I segnali di allarme tipici di un valore di swappiness inadeguato li individuo in un elevato carico di I\/O in presenza di RAM ancora libera, tempi di risposta instabili e query al database lente. Verifico tali modelli con vmstat, iostat, sar e le metriche del mio stack di osservabilit\u00e0. Se il sistema mostra un elevato utilizzo dello swap nonostante la RAM libera, di solito abbasso il valore di swappiness. Se riscontro log OOM o interruzioni a causa della RAM insufficiente, aumento moderatamente il valore di swappiness oppure modifico la configurazione dello swap. La tabella seguente elenca i sintomi di una probabile <strong>Causa<\/strong> e indica una prima direzione.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Sintomo<\/th>\n      <th>Causa probabile<\/th>\n      <th>Passo successivo<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td><strong>I\/O elevato<\/strong> con RAM libera<\/td>\n      <td>Swappiness troppo alto<\/td>\n      <td>Ridurre il valore, misurare l'impatto<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Eventi OOM<\/strong> sotto carico<\/td>\n      <td>Swappiness troppo basso o swap insufficiente<\/td>\n      <td>Aumentare il valore, verificare la dimensione dello swap<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Query lente<\/strong> nonostante la riserva di CPU<\/td>\n      <td>Buffer del database trasferito<\/td>\n      <td>Valore compreso tra 0 e 10, analizzare il buffer DB<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>Picchi di carico<\/strong> senza colli di bottiglia della CPU<\/td>\n      <td>Picchi di I\/O indotti dallo swap<\/td>\n      <td>Ridurre lo swappiness, verificare gli accessi alla cache<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Comprendere le metriche a granularit\u00e0 fine<\/h2>\n\n<p>Per valutare oggettivamente lo swappiness, esamino pi\u00f9 in dettaglio i contatori del kernel. In \/proc\/vmstat, pswpin e pswpout indicano rispettivamente il numero di pagine lette e di quelle scaricate dalla memoria. pgscan_kswapd_* e pgsteal_* mostrano quanto sia aggressivo il funzionamento del reclaimer. Se si accumulano pgmajfault (Major Page Faults), ci\u00f2 indica ricaricamenti con un carico I\/O elevato. Leggo questi valori ripetutamente o con sar -B e sar -W per osservare le frequenze, non solo istantanee. Con vmstat 1 rilevo si\/so (Swap in\/out) e posso attribuire i picchi a eventi reali. Inoltre, \/proc\/pressure\/memory fornisce una stima di quanto i task siano influenzati dalla pressione di memoria <strong>blocco<\/strong> (PSI). Se questi valori aumentano parzialmente o completamente, ho un chiaro indizio di un reclaim troppo aggressivo o di uno swappiness inadeguato.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/serverperformance-8734.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Swappiness 0 vs. 1: cosa fa realmente il kernel<\/h2>\n\n<p>Spesso si pensa che un valore di swappiness pari a 0 disattivi completamente lo swap. Non \u00e8 proprio cos\u00ec. Il valore 0 indica al kernel di evitare lo swap il pi\u00f9 possibile e di ricorrervi solo in caso di reale carenza di memoria. In pratica, un valore compreso tra 1 e 10 \u00e8 sufficiente per ottenere un comportamento molto prudente, mentre 0, in alcune versioni, pu\u00f2 occasionalmente portare a fasi di reclaim tardive ma intense. Per i servizi in cui la latenza \u00e8 critica, di solito imposto un valore compreso tra 1 e 5 e osservo se pswpout\/pswpin rimangono praticamente a zero. Se con 0 si verificano eventi OOM durante i picchi di carico, aumento leggermente il valore in modo che il kernel alleggerisca la pressione in modo graduale prima, anzich\u00e9 in modo brusco <strong>irrompere<\/strong>.<\/p>\n\n<h2>Come utilizzare al meglio Zswap e ZRAM<\/h2>\n\n<p>Oltre al classico swap su disco, a seconda del profilo utilizzo Zswap o ZRAM. Zswap comprime le pagine trasferite nella memoria di swap e le mantiene inizialmente nella RAM, prima di trasferirle sul disco quando necessario. Ci\u00f2 riduce le operazioni di I\/O e attenua le latenze, ma comporta un carico sulla CPU. Su host con una notevole riserva di CPU, questa \u00e8 una <strong>pi\u00f9 redditizio<\/strong> Compromesso. ZRAM mette a disposizione lo swap compresso direttamente nella RAM: ideale per carichi a picchi o VM molto piccole, in cui preferisco utilizzare RAM compressa piuttosto che un I\/O lento. Importante: scelgo consapevolmente uno dei due approcci e stabilisco le priorit\u00e0 in modo che venga servito per primo il percorso pi\u00f9 veloce. Lo swappiness rimane comunque una leva di controllo: anche con Zswap\/ZRAM desidero evitare ondate di reclaim non necessarie.<\/p>\n\n<h2>Cache della pagina, vfs_cache_pressure e cache-hits<\/h2>\n\n<p>Swappiness interagisce con la cache di pagina, che mantiene file e inode nella RAM. Con vm.vfs_cache_pressure controllo con quanta aggressivit\u00e0 il kernel svuota queste cache a favore delle pagine anonime. Valori troppo elevati fanno sparire troppo rapidamente le cache dei metadati, rallentando i server web. Di solito inizio con valori compresi tra 50 e 100, misuro i tassi di hit della cache e osservo come si comportano le latenze relative alle risorse statiche e alle risposte delle API. L\u2019obiettivo \u00e8 mantenere in RAM i contenuti pi\u00f9 utilizzati, senza che le pagine utilizzate raramente intasino la memoria di lavoro. Se la percentuale di hit rimane buona e l\u2019I\/O basso, l\u2019interazione funziona correttamente; in caso contrario, regolo la swappiness e vfs_cache_pressure nel <strong>Tandem<\/strong>.<\/p>\n\n<h2>Evitare il \"dirty writeback\" e i picchi di I\/O<\/h2>\n\n<p>I percorsi di scrittura influenzano le latenze tanto quanto lo swap. Con vm.dirty_background_ratio\/bytes e vm.dirty_ratio\/bytes determino la quantit\u00e0 di cache \u201csporca\u201d che viene generata prima che il kernel proceda alla scrittura. Preferisco utilizzare valori in *_bytes anzich\u00e9 percentuali per impostare limiti massimi ben definiti, specialmente in configurazioni con grandi quantit\u00e0 di RAM, dove le percentuali possono generare enormi picchi di writeback. Obiettivo: una scrittura continua e pianificabile anzich\u00e9 picchi sporadici che, insieme allo swap, generano blocchi di I\/O. Controllo iostat e le code di writeback e mantengo i valori in modo che gli SSD\/NVMe siano costantemente utilizzati, ma non <strong>investito<\/strong> diventare.<\/p>\n\n<h2>NUMA, Zone Reclaim e host di grandi dimensioni<\/h2>\n\n<p>Sui sistemi NUMA, la localit\u00e0 della memoria riveste un ruolo importante. Se vm.zone_reclaim_mode \u00e8 attivo, il kernel pu\u00f2 recuperare la memoria in modo pi\u00f9 aggressivo sul nodo NUMA locale, provocando involontariamente picchi di reclaim. Per molti carichi di lavoro di hosting, disattivo il Zone Reclaim e lascio che sia lo scheduler a occuparsi del posizionamento, al fine di ottenere un comportamento pi\u00f9 stabile. Inoltre, valuto l\u2019utilizzo delle Transparent Huge Pages (THP): I database spesso rispondono meglio a THP=never o madvise, poich\u00e9 la deframmentazione non pianificata e le allocazioni THP possono causare picchi di latenza. Lo swappiness pu\u00f2 essere perfetto, ma se le politiche THP o NUMA interferiscono, i <strong>Ritardi<\/strong>.<\/p>\n\n<h2>Aspetti dettagliati relativi a container e cgroups<\/h2>\n\n<p>Con Cgroups v2, oltre alla swappiness dell\u2019host, ho a disposizione ulteriori leve: memory.high attiva un recupero graduale, memory.max imposta limiti massimi rigidi e memory.swap.max limita lo swap per ogni carico di lavoro. In questo modo impedisco che singoli container rallentino l\u2019host tramite lo swap. Imposto valori di swappiness bassi sul nodo e assegno priorit\u00e0 ai carichi di lavoro critici tramite memory.low, in modo che i loro hotset rimangano pi\u00f9 a lungo nella RAM. In Kubernetes prendo in considerazione il modo in cui il nodo gestisce lo swap e testo le modifiche prima nei pool non di produzione. \u00c8 importante avere una visione d\u2019insieme: i parametri dell\u2019host, i limiti dei cgroup e l\u2019orchestrator devono essere coordinati tra loro, altrimenti la pressione si sposta semplicemente da un livello all\u2019altro <strong>altri<\/strong>.<\/p>\n\n<h2>Implementazione, automazione e ricaduta<\/h2>\n\n<p>Implemento le modifiche relative allo Swappiness, come qualsiasi ottimizzazione delle prestazioni, in modo controllato: prima su un piccolo gruppo di nodi quasi identici (Canary), poi gradualmente su una base pi\u00f9 ampia. Systemd-sysctl o la gestione delle configurazioni integrano i valori in modo riproducibile. Documento i valori iniziali e finali, le date e gli orari, gli host coinvolti e <strong>Metriche<\/strong>. In vista di un eventuale ritorno alla configurazione precedente, pianifico in anticipo la modifica opposta (ad es. sysctl vm.swappiness=60) e conservo i file sysctl precedenti. Durante le finestre di manutenzione misuro consapevolmente scenari di carico tipici, in modo da non confondere i cambiamenti con le fluttuazioni legate all\u2019ora del giorno o al traffico. Solo cos\u00ec le decisioni rimangono attendibili e condivise dal team <strong>comprensibile<\/strong>.<\/p>\n\n<h2>Malintesi comuni e anti-pattern<\/h2>\n\n<ul>\n  <li><strong>\u201eSwappiness=0 disattiva lo swap\u201c<\/strong>: No, il kernel continua a utilizzare lo swap, ma con molta moderazione.<\/li>\n  <li><strong>\u201ePi\u00f9 swap sono sempre pi\u00f9 sicuri\u201c<\/strong>: Uno swap eccessivo prolunga le fasi di carico e maschera i colli di bottiglia della RAM, invece di risolverli.<\/li>\n  <li><strong>\u201eCon NVMe, lo swapping non ha importanza\u201c<\/strong>: L'NVMe \u00e8 veloce, ma di un ordine di grandezza pi\u00f9 lento della RAM. Le latenze rimangono percepibili.<\/li>\n  <li><strong>\u201eUn unico valore per tutti i server\u201c<\/strong>: I carichi di lavoro variano notevolmente. Senza misurazioni, l'ottimizzazione rimane una questione di fortuna.<\/li>\n  <li><strong>\u201eSwappiness risolve qualsiasi problema di latenza\u201c<\/strong>: Spesso i problemi sono legati ai cache-hit, al writeback, al THP, ai piani di query o ai percorsi di rete.<\/li>\n<\/ul>\n\n<h2>Sintesi per un avvio rapido<\/h2>\n\n<p>Di solito imposto vm.swappiness su un valore compreso tra 10 e 20 per i server web e tra 0 e 10 per i database, ne verifico l'effetto e osservo l'I\/O, le latenze e <strong>Scambio<\/strong>-percentuale. Impostiamo il valore finale tramite sysctl nel file \/etc\/sysctl.d\/ e teniamo traccia delle modifiche. Parallelmente, ci assicuriamo che la configurazione dello swap sia adeguata: dimensioni appropriate, supporto veloce, priorit\u00e0 ragionevoli. Per quanto riguarda la pressione sulla memoria, prendo in considerazione anche la cache delle pagine e il suo comportamento; questa panoramica fornisce un buon punto di partenza per <a href=\"https:\/\/webhosting.de\/it\/server-page-cache-eviction-linux-memoria-stampa-ottimizzazione-insight\/\">Eviction della cache delle pagine<\/a>, che mi aiuta ad analizzare le cause e <strong>Contesto<\/strong> . Con questo approccio ottengo tempi di risposta affidabili, evito i picchi di utilizzo della memoria virtuale e sfrutto in modo efficace la RAM disponibile.<\/p>","protected":false},"excerpt":{"rendered":"<p>Scopri come ottimizzare in modo mirato il parametro vm.swappiness per il tuo server di hosting Linux e come migliorare notevolmente le prestazioni del server grazie a un'adeguata messa a punto dello swap su Linux.<\/p>","protected":false},"author":1,"featured_media":20859,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[676],"tags":[],"class_list":["post-20866","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server_vm"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"137","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"vm.swappiness","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20859","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/posts\/20866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/comments?post=20866"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/posts\/20866\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/media\/20859"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/media?parent=20866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/categories?post=20866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/it\/wp-json\/wp\/v2\/tags?post=20866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}