Linux in crisi di memoria: troppa VRAM manda il pinguino nel pallone

Linux in crisi di memoria: troppa VRAM manda il pinguino nel pallone

Un problema colpisce i server AI con GPU AMD Instinct: troppa VRAM causa il fallimento dell'ibernazione su Linux. La gestione inefficiente della memoria in fase di salvataggio e ripristino porta a superare la RAM disponibile. AMD ha proposto delle patch per ottimizzare il processo e risolvere l'anomalia.

di pubblicata il , alle 16:21 nel canale Sistemi Operativi
LinuxAMDInstinct
 

L'utilizzo di acceleratori AMD Instinct di ultima generazione in ambienti server sta portando alla luce un inatteso problema nel sistema di ibernazione di Linux. Con otto GPU equipaggiate con 192 GB di memoria video ciascuna, i server AI possono arrivare a gestire oltre 1,5 TB di sola VRAM. In scenari con 2 TB di RAM di sistema, il tentativo di ibernare la macchina può fallire proprio per carenza di memoria libera.

Come riportato da Phoronix, a evidenziare la questione è stato l'ingegnere di AMD Samuel Zhang, che ha spiegato come il comportamento attuale del kernel Linux provochi, in fase di ibernazione, la duplicazione dei contenuti della VRAM nella memoria di sistema. In particolare, i dati presenti nella VRAM vengono spostati o rimossi da essa, per essere trasferiti altrove, nella GTT - Graphics Translation Table - o nella shmem - shared memory, entrambe risiedenti nella RAM, e successivamente copiata nell'immagine di ibernazione scritta su disco (swap). Questo processo può portare, nei casi peggiori, a utilizzare il doppio della memoria video presente nel sistema, arrivando così a superare la disponibilità di RAM.

Zhang ha pubblicato una serie di patch per affrontare questo limite, intervenendo sia sul gestore di alimentazione del kernel Linux sia sul driver AMDGPU. Le modifiche principali prevedono: spostamento dei dati da GTT a memoria condivisa, con successiva liberazione delle pagine GTT; scrittura forzata delle pagine condivise su disco di swap, liberando così ulteriore memoria.

Oltre al problema di esaurimento della RAM, è stato osservato che il ripristino del sistema dallo stato di ibernazione, può richiedere fino a 50 minuti a causa del caricamento dei buffer objects (BOs) dalla VRAM. Una terza patch proposta mira proprio a evitare questo passaggio, dato che le GPU non vengono utilizzate durante le fasi successive alla ripresa dell'operatività.

Sebbene molti server AI siano operativi 24/7 e raramente vengano ibernati, in alcuni contesti specifici questa funzione resta importante per contenere i consumi energetici. L'arrivo delle patch nel kernel principale non è ancora certo, ma la revisione è in corso.

2 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
UtenteHD30 Giugno 2025, 16:53 #1
Cavolo, ha fatto ottimo lavoro, spero lo fixino che per questi tipi di server a quanto pare e' vitale.
Grazie per articolo.
Sandro kensan01 Luglio 2025, 23:39 #2
Non è un mio problema: fate con calma.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^