ZFS e consumo di RAM

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ZFS e consumo di RAM

Piviul-2
Ciao a tutti, in rete molti dicono che ZFS consuma tutta la RAM - 1GB.
Forse all'inizio era così... io ricordo invece di aver letto, ma non
ricordo dove, che il consumo di RAM (ARC) era proporzionale alla
quantità di dati presenti nel pool zfs ma non ricordo nel dettaglio
questa proporzionalità. Qualcuno mi sa indirizzare dove potermi documentare?

Grazie

Piviul

Reply | Threaded
Open this post in threaded view
|

Re: ZFS e consumo di RAM

Piviul-2
Piviul ha scritto il 28/05/20 alle 09:21:
> Ciao a tutti, in rete molti dicono che ZFS consuma tutta la RAM - 1GB.
> Forse all'inizio era così... io ricordo invece di aver letto, ma non
> ricordo dove, che il consumo di RAM (ARC) era proporzionale alla
> quantità di dati presenti nel pool zfs ma non ricordo nel dettaglio
> questa proporzionalità. Qualcuno mi sa indirizzare dove potermi
> documentare?
come al solito continuo il mio monologo sperando che a qualcuno sia
utile e che a qualcun altro non dia fastidio :)

Documentazione[¹] credo[²] attendibile darebbe manforte a chi sostiene
che ZFS consumi tutta la RAM meno 1GB; infatti si legge che il valore di
default sia impostato al "75% of memory on systems with less than 4 GB
of memory physmem minus 1 GB on systems with greater than 4 GB of
memory". Però a me non torna:

> # arc_summary | grep -A9 ^ARC\ size
> ARC size (current):                                    94.4 %   59.4 GiB
>         Target size (adaptive):                       100.0 %   62.9 GiB
>         Min size (hard limit):                          6.2 %    3.9 GiB
>         Max size (high water):                           16:1   62.9 GiB
>         Most Frequently Used (MFU) cache size:          0.7 %  386.3 MiB
>         Most Recently Used (MRU) cache size:           99.3 %   56.2 GiB
>         Metadata cache size (hard limit):              75.0 %   47.2 GiB
>         Metadata cache size (current):                  6.1 %    2.9 GiB
>         Dnode cache size (hard limit):                 10.0 %    4.7 GiB
>         Dnode cache size (current):                     0.2 %   10.5 MiB

che è circa la metà della ram presente sul sistema:
> # free -h
>               total        used        free      shared  buff/cache   available
> Mem:          125Gi        64Gi        60Gi       104Mi       903Mi        59Gi
> Swap:         8.0Gi          0B       8.0Gi

E a questo punto non mi resta altro che pensare che zfs in solaris si
comporta diversamente che su linux...

O no?

Piviul

[¹] https://docs.oracle.com/cd/E26502_01/html/E29022/chapterzfs-3.html
[²] credo perché si riferisce a zfs in solaris ma non dovrebbero esserci
differenza

Reply | Threaded
Open this post in threaded view
|

Re: ZFS e consumo di RAM

Alessandro Baggi

Il 28/05/20 15:27, Piviul ha scritto:

> Piviul ha scritto il 28/05/20 alle 09:21:
>> Ciao a tutti, in rete molti dicono che ZFS consuma tutta la RAM - 1GB.
>> Forse all'inizio era così... io ricordo invece di aver letto, ma non
>> ricordo dove, che il consumo di RAM (ARC) era proporzionale alla
>> quantità di dati presenti nel pool zfs ma non ricordo nel dettaglio
>> questa proporzionalità. Qualcuno mi sa indirizzare dove potermi
>> documentare?
> come al solito continuo il mio monologo sperando che a qualcuno sia
> utile e che a qualcun altro non dia fastidio :)
>
> Documentazione[¹] credo[²] attendibile darebbe manforte a chi sostiene
> che ZFS consumi tutta la RAM meno 1GB; infatti si legge che il valore di
> default sia impostato al "75% of memory on systems with less than 4 GB
> of memory physmem minus 1 GB on systems with greater than 4 GB of
> memory". Però a me non torna:
>> # arc_summary | grep -A9 ^ARC\ size
>> ARC size (current):                                    94.4 %   59.4 GiB
>>         Target size (adaptive):                       100.0 %   62.9 GiB
>>         Min size (hard limit):                          6.2 %    3.9 GiB
>>         Max size (high water):                           16:1   62.9 GiB
>>         Most Frequently Used (MFU) cache size:          0.7 %  386.3 MiB
>>         Most Recently Used (MRU) cache size:           99.3 %   56.2 GiB
>>         Metadata cache size (hard limit):              75.0 %   47.2 GiB
>>         Metadata cache size (current):                  6.1 %    2.9 GiB
>>         Dnode cache size (hard limit):                 10.0 %    4.7 GiB
>>         Dnode cache size (current):                     0.2 %   10.5 MiB
>
> che è circa la metà della ram presente sul sistema:
>> # free -h
>>               total        used        free      shared  buff/cache  
>> available
>> Mem:          125Gi        64Gi        60Gi       104Mi      
>> 903Mi        59Gi
>> Swap:         8.0Gi          0B       8.0Gi
>
> E a questo punto non mi resta altro che pensare che zfs in solaris si
> comporta diversamente che su linux...
>
> O no?
>
> Piviul
>
> [¹] https://docs.oracle.com/cd/E26502_01/html/E29022/chapterzfs-3.html
> [²] credo perché si riferisce a zfs in solaris ma non dovrebbero esserci
> differenza
>

Ciao Piviul,
sono nuovo con ZFS ma da quello che so hai ragione, è tutta la ram -
1GiB. Se necessiti di RAM (magari un VM o altro), puoi tranquillamente
impostare zfs_arc_max ad un valore ragionevole. La ARC permette di
accedere ai file in maniera più veloce. Ovviamente avere una ARC più
grande ti permette di avere più file in cache. Abbassarla non comporta
nessun problema per ZFS, ma ho letto consigli di non abbassarla sotto i
4GiB (non ho capito perche ma credo sia un fatto di prestazioni).

Per la deduplicazione, anche se non l'ho ancora usata, ho letto che ZFS
richiede 1 GiB di RAM per 1 TiB di dati, e questo credo si vada a
sommare alla memoria usata dalla ARC, quindi attivare la deduplicazione
solo se zdb riporta un rate di deduplicazione ragionevole.

Dato il grande utilizzo di RAM da parte di ZFS (ARC e Deduplicazione)
l'utilizzo di ram ECC sarebbe indicato, ma al momento lo sto provando su
una macchina con RAM non ECC, chissa che succederà in caso di qualche
bit corrotto.

Hai qualche problema in particolare con l'utilizzo della RAM?

PS. Le tue avventure con PROXMOX e ZFS e Debian le trovo stimolanti dal
punto di vista tecnico.

Un saluto.