Ho eseguito un NAS / SAN box su Solaris 11 Express prima che Solaris 11 fosse rilasciato. La confezione è una HP X1600 con un D2700 collegato. Complessivamente, dischi SATA da 12 TB da 1 TB 7200, dischi SAS da 12 KB da 300 GB da 10 KB in zpools separati. La RAM totale è di 30 GB. I servizi forniti sono CIFS, NFS e iSCSI.
Tutto andava bene e avevo un grafico di utilizzo della memoria ZFS simile a questo:
Una dimensione dell'arco abbastanza sana di circa 23 GB, che utilizza la memoria disponibile per la memorizzazione nella cache.
Tuttavia, quando sono uscito, ho eseguito l'aggiornamento a Solaris 11. Ora, il mio grafico è simile al seguente:
L'output parziale di arc_summary.pl
è:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26719 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 915 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
Ha come target 119 MB mentre era seduto a 915 MB. Ci sono 30 GB con cui giocare. Perché? Hanno cambiato qualcosa?
modificare
Per chiarire, arc_summary.pl
è di Ben Rockwood e le linee pertinenti che generano le statistiche di cui sopra sono:
my $mru_size = ${Kstat}->{zfs}->{0}->{arcstats}->{p};
my $target_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c};
my $arc_min_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_min};
my $arc_max_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_max};
my $arc_size = ${Kstat}->{zfs}->{0}->{arcstats}->{size};
Le voci di Kstat sono lì, sto solo ottenendo dei valori strani da loro.
Modifica 2
Ho appena misurato nuovamente la dimensione dell'arco con arc_summary.pl
- Ho verificato questi numeri con kstat
:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26697 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 744 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
La cosa che mi colpisce è che la dimensione target è di 119 MB. Guardando il grafico, ha come target lo stesso valore esatto (124,91 M secondo i cactus, 119 M secondo arc_summary.pl
- pensa che la differenza sia solo 1024/1000 problemi di arrotondamento) da quando è stato installato Solaris 11. Sembra che il kernel stia facendo uno sforzo zero per spostare la dimensione del bersaglio su qualcosa di diverso. La dimensione attuale sta fluttuando quando le esigenze del sistema (grande) combattono con le dimensioni del bersaglio e sembra che l'equilibrio sia tra 700 e 1000 MB.
Quindi la domanda è ora un po 'più puntata: perché Solaris 11 sta impostando con difficoltà la dimensione del mio target ARC su 119 MB e come posso cambiarla? Devo aumentare la dimensione minima per vedere cosa succede?
Ho bloccato l'uscita di kstat -n arcstats
sopra a http://pastebin.com/WHPimhfg
Modifica 3
Ok, stranezza adesso. So che flibflob ha detto che c'era una patch per risolvere questo problema. Non ho ancora applicato questa patch (risolvendo ancora i problemi di supporto interno) e non ho applicato altri aggiornamenti software.
Giovedì scorso, la scatola si è schiantata. Come in, completamente smesso di rispondere a tutto. Quando l'ho riavviato, è tornato bene, ma ecco come appare ora il mio grafico.
Sembra aver risolto il problema.
Adesso è roba vera e propria. Non ho letteralmente idea di cosa stia succedendo. :(