ฉันใช้กล่อง NAS / SAN บน Solaris 11 Express ก่อนที่ Solaris 11 จะวางจำหน่าย กล่องนั้นเป็น HP X1600 ที่มี D2700 ติดอยู่ โดยรวมดิสก์ SATA 12 x 1TB 7200, 12x 300GB 10k SAS ดิสก์ใน zpools แยกกัน RAM ทั้งหมดคือ 30GB บริการที่จัดเตรียมคือ CIFS, NFS และ iSCSI
ทั้งหมดเป็นไปด้วยดีและฉันมีกราฟการใช้หน่วยความจำ ZFS ที่มีลักษณะเช่นนี้:
ขนาดอาร์คที่ค่อนข้างแข็งแรงประมาณ 23GB ใช้ประโยชน์จากหน่วยความจำที่มีอยู่สำหรับแคช
อย่างไรก็ตามฉันอัพเกรดเป็น Solaris 11 เมื่อมันออกมา ตอนนี้กราฟของฉันมีลักษณะดังนี้:
ผลลัพธ์บางส่วนของ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)
กำลังตั้งเป้าหมาย 119MB ขณะนั่งที่ 915MB มี 30GB ที่จะเล่นกับ ทำไม? พวกเขาเปลี่ยนอะไรไหม?
แก้ไข
หากต้องการชี้แจงarc_summary.pl
ก็คือ Ben Rockwood's และบรรทัดที่เกี่ยวข้องที่สร้างสถิติข้างต้นคือ:
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};
รายการ Kstat อยู่ที่นั่นฉันแค่รับค่าแปลกออกมาจากพวกเขา
แก้ไข 2
ฉันเพิ่งวัดขนาดส่วนโค้งอีกครั้งarc_summary.pl
- ฉันได้ตรวจสอบหมายเลขเหล่านี้ด้วย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)
สิ่งที่ทำให้ฉันประทับใจคือขนาดเป้าหมายคือ 119MB เมื่อมองไปที่กราฟมันกำหนดเป้าหมายเป็นค่าเดียวกันที่แน่นอน (124.91M ตาม cacti, 119M ตามarc_summary.pl
- คิดว่าความแตกต่างเป็นเพียงปัญหาการปัดเศษ 1024/1000) นับตั้งแต่ติดตั้ง Solaris 11 ดูเหมือนว่าเคอร์เนลพยายามอย่างเต็มที่ที่จะเปลี่ยนขนาดเป้าหมายเป็นอะไรที่แตกต่างออกไป ขนาดปัจจุบันมีความผันผวนตามความต้องการของระบบ (ขนาดใหญ่) ต่อสู้กับขนาดเป้าหมายและปรากฏว่ามีความสมดุลระหว่าง 700 และ 1000MB
ดังนั้นคำถามนี้ชี้ไปที่น้อยกว่า - ทำไม Solaris 11 จึงยากที่จะกำหนดขนาดเป้าหมาย ARC เป็น 119MB และฉันจะเปลี่ยนได้อย่างไร ฉันควรยกขนาดขั้นต่ำเพื่อดูว่าเกิดอะไรขึ้น
ฉันติดผลลัพธ์ของที่kstat -n arcstats
มากกว่าที่http://pastebin.com/WHPimhfg
แก้ไข 3
ตกลงตอนนี้ความแปลก ฉันรู้ว่า flibflob พูดถึงว่ามีการแก้ไขเพื่อแก้ไข ฉันยังไม่ได้ใช้โปรแกรมแก้ไขนี้ (ยังคงแยกแยะปัญหาการสนับสนุนภายใน) และฉันไม่ได้ใช้การปรับปรุงซอฟต์แวร์อื่น ๆ
วันพฤหัสบดีที่ผ่านมากล่องเกิดข้อผิดพลาด ในขณะที่หยุดการตอบสนองทุกอย่างอย่างสมบูรณ์ เมื่อฉันรีบูทมันก็กลับมาดี แต่นี่เป็นกราฟของฉันตอนนี้
ดูเหมือนว่าจะแก้ไขปัญหาได้แล้ว
นี่คือสิ่งที่เหมาะสมในตอนนี้ ฉันไม่รู้จริงๆว่าเกิดอะไรขึ้น :(