Saya menjalankan kotak NAS / SAN pada Solaris 11 Express sebelum Solaris 11 dirilis. Kotaknya adalah HP X1600 dengan D2700 terlampir. Secara keseluruhan, disk SATA 12x 1TB 7200, disk SAS 12k 300GB 10k di zpool terpisah. Total RAM adalah 30GB. Layanan yang diberikan adalah CIFS, NFS dan iSCSI.
Semuanya baik-baik saja, dan saya memiliki grafik penggunaan memori ZFS yang terlihat seperti ini:
Ukuran Arc yang cukup sehat sekitar 23GB - memanfaatkan memori yang tersedia untuk caching.
Namun, saya kemudian memutakhirkan ke Solaris 11 ketika itu keluar. Sekarang, grafik saya terlihat seperti ini:
Output parsial arc_summary.pl
adalah:
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)
Ini menargetkan 119MB sambil duduk di 915MB. Ada 30GB untuk dimainkan. Mengapa? Apakah mereka mengubah sesuatu?
Edit
Untuk memperjelas, arc_summary.pl
adalah Ben Rockwood, dan garis relevan menghasilkan statistik di atas adalah:
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};
Entri Kstat ada di sana, saya hanya mendapatkan nilai aneh dari mereka.
Edit 2
Saya baru saja mengukur ulang ukuran busur dengan arc_summary.pl
- Saya telah memverifikasi angka-angka ini dengan 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)
Hal yang mengejutkan saya adalah Ukuran Target adalah 119MB. Melihat grafik, itu ditargetkan nilai yang sama persis (124,91M menurut kaktus, 119M menurut arc_summary.pl
- pikir perbedaannya hanya 1024/1000 masalah pembulatan) sejak Solaris 11 diinstal. Sepertinya kernel melakukan upaya nol untuk menggeser ukuran target ke hal lain. Ukuran saat ini berfluktuasi karena kebutuhan sistem (besar) bertarung dengan ukuran target, dan tampaknya keseimbangan adalah antara 700 dan 1000MB.
Jadi pertanyaannya sekarang sedikit lebih tajam - mengapa Solaris 11 menetapkan ukuran target ARC saya menjadi 119MB, dan bagaimana cara mengubahnya? Haruskah saya menaikkan ukuran min untuk melihat apa yang terjadi?
Saya sudah terjebak output kstat -n arcstats
lebih dari di http://pastebin.com/WHPimhfg
Edit 3
Ok, aneh sekarang. Saya tahu flibflob menyebutkan bahwa ada tambalan untuk memperbaikinya. Saya belum menerapkan tambalan ini (masih memilah masalah dukungan internal) dan saya belum menerapkan pembaruan perangkat lunak lainnya.
Kamis lalu, kotak itu jatuh. Seperti dalam, benar-benar berhenti merespons semuanya. Ketika saya reboot, itu kembali dengan baik, tapi inilah grafik saya sekarang.
Tampaknya telah memperbaiki masalahnya.
Ini barang tanah la la layak sekarang. Saya benar-benar tidak tahu apa yang terjadi. :(
sumber
Mereka mengubah kstats.
Oracle Solaris 11 telah menghapus statistik berikut dari zfs: 0: arcstats:
dan menambahkan yang berikut ini ke zfs: 0: arcstats:
Jadi ini pada dasarnya bisa menjadi masalah dengan skrip Anda.
sumber