Post-Migration: Technical Optimization & Hardening

⚡ 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é: zstd offre 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”.

  1. 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
    
  2. SSH Key-Only: Se gestisci queste macchine in remoto, disabilita l’autenticazione via password (come visto nella sezione [[sistemi-operativi/linux/security]]).
  3. 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*

Built with Hugo
Theme Stack designed by Jimmy