Uruchomiłem urządzenie NAS / SAN w systemie Solaris 11 Express przed wydaniem systemu Solaris 11. Pudełko to HP X1600 z dołączonym D2700. W sumie 12 x 1 TB dysków SATA 7200, 12 x 300 GB dysków 10k SAS 10k w osobnych basenach zpool. Całkowita pamięć RAM wynosi 30 GB. Świadczone usługi to CIFS, NFS i iSCSI.
Wszystko było dobrze i miałem wykres zużycia pamięci ZFS, który wygląda tak:
Dość zdrowy rozmiar łuku około 23 GB - wykorzystanie dostępnej pamięci do buforowania.
Potem jednak zaktualizowałem system do Solaris 11, kiedy to się pojawiło. Teraz mój wykres wygląda następująco:
Częściowa produkcja arc_summary.pl
to:
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)
Jego celowanie to 119 MB, gdy siedzi przy 915 MB. Ma 30 GB do gry. Dlaczego? Czy coś zmienili?
Edytować
Dla wyjaśnienia, arc_summary.pl
należy do Bena Rockwooda, a odpowiednie linie generujące powyższe statystyki to:
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};
Wpisy Kstat już tam są, po prostu wyciągam z nich nieparzyste wartości.
Edytuj 2
Właśnie zmierzyłem rozmiar łuku za pomocą arc_summary.pl
- zweryfikowałem te liczby za pomocą 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)
Uderza mnie to, że rozmiar docelowy wynosi 119 MB. Patrząc na wykres, jest on ukierunkowany na dokładnie taką samą wartość (124,91 mln według kaktusów, 119 mln według arc_summary.pl
- myślę, że różnica to tylko 1024/1000 problemów z zaokrąglaniem) od momentu zainstalowania Solaris 11. Wygląda na to, że jądro robi zero wysiłku, aby zmienić docelowy rozmiar na cokolwiek innego. Obecny rozmiar zmienia się, ponieważ potrzeby systemu (duże) walczą z wielkością docelową i wydaje się, że równowaga wynosi między 700 a 1000 MB.
Pytanie jest teraz nieco bardziej precyzyjne - dlaczego Solaris 11 ustawia mój docelowy rozmiar ARC na 119 MB i jak to zmienić? Czy powinienem zwiększyć rozmiar minimalny, aby zobaczyć, co się stanie?
Utknąłem na wyjście kstat -n arcstats
na http://pastebin.com/WHPimhfg
Edytuj 3
Ok, dziwność teraz. Wiem, że flibflob wspomniał, że była łatka, aby to naprawić. Nie zastosowałem jeszcze tej poprawki (wciąż rozwiązuję wewnętrzne problemy z obsługą) i nie zastosowałem żadnych innych aktualizacji oprogramowania.
W ubiegły czwartek pudło się rozbiło. Jak w, całkowicie przestał reagować na wszystko. Kiedy ponownie go uruchomiłem, wszystko wróciło dobrze, ale oto, jak teraz wygląda mój wykres.
Wygląda na to, że problem został rozwiązany.
To jest teraz właściwe. Dosłownie nie mam pojęcia, co się dzieje. :(