servemoria nel giorno della RAM

Oggi è il “Giorno della Memoria“… e, visto che ho la memoria mentale per ricordarmi di ciò, mi sono ricordata che sarebbe il caso di parlare, appunto, proprio di memoria… #Memoria computazionale, si intende! La roba de’ calcolatori informatici che tanto bene mi fanno NON dormire la notte, perché non funziona mai bene nulla, e allora mai riesco a fare quello che mi serve… 💔
Vabbè, semplicemente riflettevo su come è particolare che il mio server casalingo sia tipo l’unico mio computer che funziona bene, nonostante la configurazione particolare e discutibile per quanto riguarda la memoria, a differenza di quasi tutto il resto dei dispositivi — la quale maggior parte mi da noia, ironia della sorte, per motivi di memoria, ma in quel caso memoria di archiviazione; e stasera non voglio parlare di quelli, perché non mi va di incazzarmi ancora di più. 😾

Qualche mese fa, avendo attivato l’hosting di cose nuove, anche se nulla di grosso, la RAM è di punto in bianco iniziata a non bastare più… e stava quasi per partire la memoria del Rasperino Vietnam, iniziando a vedere non solo servizi che venivano killati o rallentavano, ma proprio tutto il sistema che non rispondeva più a niente per intere ore (…o fino a un riavvio hardware), per via della RAM completamente satura. 🗡️
Rimane un mistero come facessi a ospitare tutta la mia roba su 1 GB di memoria, ai tempi immemori del Raspberry (appena 1 anno e mezzo fa), ma le mie magie non vanno avanti a congetture, e quindi comunque una soluzione dovevo trovarla rapidamente… E per fortuna, me lo ricordo perfettamente, la trovai, a costo di distrarmi malissimo dalle lezioni in corso all’università quel pomeriggio… oh peccato. Purtroppo, volevo valutarla qualche giorno prima di condividerla, ma passati i pochi giorni mi scordai (che novità). 👻
Allora, insomma, la soluzione è banale, quindi la sua scoperta è lasciata ai lettor— STO SCHERZANDO!!! Se mai dovessi fare come i professori di matematica, vi autorizzo ad attentare alla mia vita, Mangione-style, ma non è questo il giorno. La soluzione è banale, sta nella combinazione di:
- memoria di swap (che già avevo), configurata da un lato dal setup automatico di Debian quando configurai inizialmente il computer, e dall’altro semplicemente installando il pacchetto
dphys-swapfile
(che su altre distro o mancherà, ops) e attivando il servizio omonimo (se non lo fa da solo)… e nel mio caso questo ammonta a circa 1 + 2 GB di swap 🧨 - z-ram (memoria Z), configurata installando il pacco
systemd-zram-generator
… dovrebbe attivarsi da solo il servizio (altrimenti basta riavviare e fanculo), concedendo di default circa 4 GB di z-ram ✨ - opzione del kernel
vm.swappiness
alta, nel mio casovm.swappiness=160
(su massimo 200)… altrimenti swap e z-ram non si riempiono mai abbastanza e abbastanza in fretta da non far scattare il killer out-of-memory 🎇
Su un desktop, questa stessa #configurazione, viste le metriche di utilizzo in figura, renderebbe tutto insopportabilmente lento, e anche solo una cartella sul disco ci metterebbe svariati secondi ad aprirsi, i click non farrebbero alcun effetto, l’audio parrebbe riprodotto da Marte… eppure, qui sul server, è buonissima. Cazzarola, qui siamo oltre lo “scaricare più RAM”, ho scaricato delle cose per generare RAM dal nulla! 🚨
Questo #setup mi lascia aperti sempre tutti i processi; rallentamenti nell’accesso ai miei servizi di rete misti non ne noto letteralmente mai, mentre solo i miei desktop virtualizzati sono un po’ lenti al collegamento dopo tanto tempo di idle, ma nulla di tragico. E non penso neanche di star bruciando l’SSD, perché le pagine che finiscono in swap con l’uso del #server in genere ci restano buone. Memorabile, insomma. 🧠