Я запускал NAS / SAN на Solaris 11 Express до выпуска Solaris 11. Коробка - HP X1600 с приложенным D2700. В целом, 12x 1 ТБ 7200 SATA дисков, 12x 300 ГБ 10k SAS дисков в отдельных zpools. Общий объем оперативной памяти составляет 30 ГБ. Предоставляемые услуги: CIFS, NFS и iSCSI.
Все было хорошо, и у меня был график использования памяти ZFS, похожий на этот:
Довольно здоровый размер Arc около 23 ГБ - использование доступной памяти для кэширования.
Тем не менее, когда я вышел, я обновился до 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)
Он нацелен на 119 МБ, сидя на 915 МБ. У него 30 ГБ для игры. Почему? Они что-то изменили?
редактировать
Чтобы уточнить, arc_summary.pl
это Бен Роквуд, и соответствующие строки, генерирующие вышеуказанную статистику:
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)
Меня поражает то, что размер цели составляет 119 МБ. Глядя на график, он нацелен на точно такое же значение (124,91 млн согласно Cacti, 119 млн согласно arc_summary.pl
- думаю, разница составляет всего 1024/1000 вопросов округления) с момента установки Solaris 11. Похоже, ядро делает нулевое усилие, чтобы сместить целевой размер к чему-то другому. Текущий размер колеблется, поскольку потребности системы (большой) борются с целевым размером, и кажется, что равновесие находится между 700 и 1000 МБ.
Итак, теперь вопрос немного более острый: почему Solaris 11 жестко устанавливает целевой размер ARC на 119 МБ и как его изменить? Должен ли я поднять минимальный размер, чтобы увидеть, что происходит?
Я застрял вывод kstat -n arcstats
более на http://pastebin.com/WHPimhfg
Редактировать 3
Хорошо, странность сейчас. Я знаю, что flibflob упомянул, что есть патч, чтобы это исправить. Я еще не применил этот патч (по-прежнему разбираюсь с проблемами внутренней поддержки), и я не применял никаких других обновлений программного обеспечения.
В прошлый четверг коробка разбилась. Как и в, полностью перестал отвечать на все вопросы. Когда я перезагрузил его, он снова заработал, но вот как выглядит мой график.
Кажется, это решило проблему.
Теперь это уместно. Я буквально не знаю, что происходит. :(
источник
Они изменили кстаты.
Oracle Solaris 11 удалил следующую статистику из zfs: 0: arcstats:
и добавил следующее в zfs: 0: arcstats:
Так что это может быть просто проблемой с вашим скриптом.
источник