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.