⚡ Post-Migration: Technical Optimization & Hardening
Obiettivo: Massimizzare la reattività del sistema (responsiveness) e proteggere l’hardware attraverso la calibrazione del Kernel e dei servizi di background.
::: info IL TOCCO DELL’INGEGNERE L’ottimizzazione su Linux non è “magia”, ma gestione delle code (queues) e delle priorità. Interverremo sulla gestione della memoria (ZRAM), sullo scheduler dei dischi e sulle policy energetiche per eliminare i micro-lag tipici dell’hardware datato. :::
1. Gestione Memoria Avanzata (ZRAM)
Sia sul Mac Pro (96GB) che sul laptop (8/16GB), lo swap su disco è un collo di bottiglia. Utilizziamo la ZRAM per creare una partizione di swap compressa direttamente nella RAM.
Setup ZRAM (Debian/Ubuntu/Mint)
# Installazione utility
sudo apt update && sudo apt install zram-tools -y
# Configurazione (Edit /etc/default/zramswap)
# Impostiamo il 25% della RAM fisica come buffer compresso
echo "PERCENT=25" | sudo tee -a /etc/default/zramswap
echo "ALGORITHM=zstd" | sudo tee -a /etc/default/zramswap
# Riavvio servizio
sudo systemctl restart zramswap
- Perché:
zstdoffre il miglior rapporto compressione/velocità, riducendo drasticamente le scritture sull’SSD (usura minore).
2. Kernel Tuning via Sysctl
Modifichiamo i parametri a runtime del kernel per favorire l’interattività rispetto al throughput puro.
Configurazione /etc/sysctl.d/99-performance.conf
Crea il file e inserisci:
# Riduci la tendenza allo swap (default 60, consigliato 10)
vm.swappiness = 10
# Migliora la gestione della cache del filesystem
vm.vfs_cache_pressure = 50
# Ottimizzazione buffer di rete per trasferimenti file pesanti
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
Applica con: sudo sysctl --system
3. Storage Optimization (SSD/NVMe)
L’hardware recuperato spesso monta SSD di prima generazione o adattatori NVMe.
- Periodic TRIM: Assicurati che il servizio di pulizia celle sia attivo per mantenere costanti le velocità di scrittura.
sudo systemctl enable --now fstrim.timer - I/O Scheduler: Per SSD moderni, forziamo il kernel a non perdere tempo con algoritmi di ordinamento inutili.
# Verifica lo scheduler attuale cat /sys/block/sda/queue/scheduler # Se supportato, 'none' o 'mq-deadline' sono i migliori per SSD
📉 Ciclo di Ottimizzazione (Mermaid 8.8.2)
🛡️ Security Hardening Essentials
Un sistema “Revived” deve essere anche “Secured”.
- Firewall (UFW): Attiva immediatamente la protezione perimetrale.
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh # Se necessario l'accesso remoto sudo ufw enable - SSH Key-Only: Se gestisci queste macchine in remoto, disabilita l’autenticazione via password (come visto nella sezione [[sistemi-operativi/linux/security]]).
- Microcode Updates: Fondamentale per proteggere le vecchie CPU Xeon/i5 da vulnerabilità hardware (Spectre/Meltdown).
sudo apt install intel-microcode -y
💡 Note dell’Architetto
Su macchine come il Mac Pro 2013, l’ottimizzazione più importante rimane la gestione della ventola (macfanctld). Una CPU Xeon che lavora a 10°C in meno non solo dura di più, ma mantiene frequenze di “Turbo Boost” più elevate per tempi prolungati, migliorando sensibilmente le performance di compilazione C++.
Tags: #Optimization #Kernel #Linux #Performance #Hardening*