Da quando ho effettuato l'aggiornamento a Solaris 11, la mia dimensione ARC è stata costantemente indirizzata a 119 MB, nonostante avesse 30 GB di RAM. Che cosa? Perché?


9

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 arcstatssopra 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. :(

Risposte:


4

Purtroppo non posso risolvere il tuo problema, ma ecco alcune informazioni di base:

  • La dimensione target ARC non sembra essere un valore fisso. Riscontro lo stesso problema su una macchina Solaris 11 e dopo ogni riavvio, ad un certo punto la dimensione target sembra bloccarsi a un valore compreso tra ~ 100 e ~ 500 MB.

  • Almeno altre 3 persone stanno affrontando lo stesso problema, come discusso in http://mail.opensolaris.org/pipermail/zfs-discuss/2012-January/050655.html

  • Esiste anche una segnalazione di bug aperta (7111576) su "My Oracle Support" ( https://support.oracle.com ). Se il tuo server ha un contratto di supporto valido, devi presentare una richiesta di servizio e fare riferimento a quel bug. A partire da ora, qualsiasi correzione di bug sembra essere ancora in corso di elaborazione ...

A parte questo, non c'è molto che puoi fare. Se non hai ancora aggiornato le versioni di zpool / zfs, potresti provare ad avviare il tuo vecchio ambiente di boot di Solaris 11 Express ed eseguirlo fino a quando Oracle non decide finalmente di rilasciare una SRU che risolve il problema.

Modifica: poiché la questione del degrado delle prestazioni è stata discussa sopra: tutto dipende da cosa stai facendo. Ho visto orribili latenze sulla mia condivisione NFS di Solaris 11 da quando ho eseguito l'aggiornamento a Solaris 11 11/11. Rispetto al tuo sistema, tuttavia, ho relativamente pochi mandrini e faccio molto affidamento sul funzionamento della cache ARC e L2ARC come previsto (tieni presente che il problema fa sì che anche L2ARC non cresca a dimensioni ragionevoli). Questo non è certamente un problema di statistiche male interpretate.

Anche se potresti non fare troppo affidamento su ARC / L2ARC, probabilmente sarai in grado di riprodurlo leggendo un file di grandi dimensioni (che normalmente si adatterebbe alla tua RAM) più volte con dd . Probabilmente noterai che la prima volta che leggerai il file sarà effettivamente più veloce di qualsiasi lettura consecutiva dello stesso file (a causa della ridicola dimensione ARC e degli innumerevoli sfratti della cache).

Modifica: ora sono riuscito a ricevere una patch IDR da Oracle che risolve questo problema. Se il sistema è supportato, è necessario richiedere la patch IDR per CR 7111576. La patch si applica a Solaris 11 11/11 con SRU3.


Io penso che io sono sotto il supporto, ma io lavoro in una massiccia aziendale, quindi chi lo sa?
Crescere il

1

Hanno cambiato i kstat.

Oracle Solaris 11 ha rimosso le seguenti statistiche da zfs: 0: arcstats:

  • evict_l2_cached
  • evict_l2_eligible
  • evict_l2_ineligible
  • evict_skip
  • hdr_size
  • l2_free_on_write
  • l2_size recycle_miss

e aggiunto quanto segue a zfs: 0: arcstats:

  • buf_size
  • meta_limit
  • meta_max
  • meta_used

Quindi questo potrebbe sostanzialmente essere solo un problema con la tua sceneggiatura.


È un punto interessante, ma non credo di usare nessuna di queste metriche per riportare questi numeri. Vedi modifica.
Crescere il

Quelli davvero sono ancora qui. Considerando ciò, sembra molto strano. Vedi qualche tipo di degrado delle prestazioni?
juwi,

Non posso dire di averlo fatto. Probabilmente dovrei misurarlo.
Crescere il

Nel caso in cui questo non sia un errore in quello che stai guardando e hai davvero una stranezza lì, per favore nota che PUOI modificare questi valori al volo su un sistema live o usando permanentemente / etc / system.
Nex7,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.