[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ZFS e consumo di RAM




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.


Reply to: