З моменту оновлення до Solaris 11 мій розмір ARC незмінно орієнтований на 119 МБ, незважаючи на 30 Гб оперативної пам’яті. Що? Чому?


9

Я керував коробкою NAS / SAN на Solaris 11 Express до виходу Solaris 11. Коробка являє собою HP X1600 з доданим D2700. Загалом, 12x 1TB 7200 SATA диски, 12x 300GB 10k SAS диски в окремих zpools. Загальна оперативна пам’ять - 30 Гб. Надані послуги - CIFS, NFS та iSCSI.

Все було добре, і у мене графік використання пам'яті ZFS виглядав так:

Досить здоровий розмір дуги близько 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 млн. Відповідно до кактусів, 119М відповідно arc_summary.pl- думаю, різниця становить лише 1024/1000 питань округлення) з моменту встановлення Solaris 11. Схоже, ядро ​​докладає нульових зусиль, щоб змінити цільовий розмір на що-небудь інше. Поточний розмір коливається, коли потреби системи (великої) борються з цільовим розміром, і, здається, рівновага між 700 і 1000 МБ.

Тож питання зараз трохи більш загострене - чому в Solaris 11 важко встановити мій розмір цілі ARC на 119 Мб, і як я можу це змінити? Чи варто піднімати мінімальний розмір, щоб побачити, що відбувається?

Я затримав результат kstat -n arcstatsна http://pastebin.com/WHPimhfg

Правка 3

Гаразд, дивність зараз. Я знаю, flibflob згадав про те, що для виправлення це був патч. Я ще не застосував цей патч (все ще розбираю проблеми з внутрішньою підтримкою) і не застосовував жодних інших оновлень програмного забезпечення.

Минулого четверга коробка розбилася. Як і в, повністю перестала реагувати на все. Коли я перезавантажив його, воно вийшло чудово, але ось як виглядає зараз мій графік.

Здається, виправили проблему.

Це правильна земля. Я буквально не маю уявлення, що відбувається. :(

Відповіді:


4

На жаль, я не можу вирішити вашу проблему, але ось деяка довідкова інформація:

  • Здається, розмір цілі ARC не є фіксованим значенням. Я відчуваю таку ж проблему на машині Solaris 11, і після кожного перезавантаження в якийсь момент цільовий розмір, схоже, замикається зі значенням від ~ 100 до ~ 500 МБ.

  • Принаймні 3 інші люди стикаються з тим самим питанням, про яке йшлося в http://mail.opensolaris.org/pipermail/zfs-discuss/2012-January/050655.html

  • Існує також відкритий звіт про помилку (7111576) у розділі "Моя підтримка Oracle" ( https://support.oracle.com ). Якщо ваш сервер має чинний контракт на підтримку, вам слід подати запит на обслуговування та звернутися до цієї помилки. На сьогоднішній день будь-яка помилка все ще здається незавершеною ...

Крім цього, ти не можеш багато чого зробити. Якщо ви ще не оновили версії zpool / zfs, ви можете спробувати завантажитися у ваше старе середовище завантаження Solaris 11 Express і запустити це, поки Oracle нарешті не вирішить випустити SRU, що вирішує проблему.

Редагувати: Оскільки питання про зниження продуктивності було обговорено вище: Все залежить від того, що ви робите. Я бачив жахливі затримки на моїй акції Solaris 11 NFS з моменту оновлення до Solaris 11 11/11. Однак, порівняно з вашою системою, у мене відносно мало шпинделів і дуже покладаюся на кешування ARC та L2ARC, як працює, як очікувалося (врахуйте, що проблема також призводить до того, що L2ARC не зростає до розумних розмірів). Це, звичайно, не проблема неправильно витлумаченої статистики.

Незважаючи на те, що ви, можливо, не надто покладаєтесь на ARC / L2ARC, ви, ймовірно, зможете відтворити його, прочитавши великий файл (який, як правило, вписується у вашу оперативну пам’ять) кілька разів з dd . Ви, мабуть, помітите, що перший раз читання файлу насправді буде швидше, ніж будь-яке послідовне зчитування одного і того ж файлу (через смішний розмір ARC та незліченну кількість виселення кешу).

Редагувати: Зараз мені вдалося отримати патч IDR від Oracle, який вирішує цю проблему. Якщо ваша система підтримується, вам слід попросити патч IDR для CR 7111576. Патч застосовується до Solaris 11 11/11 з SRU3.


Я думаю, що я підтримую, але працюю в масовому корпоративі, так хто знає?
приріст

1

Вони змінили кстати.

Oracle Solaris 11 видалив наступну статистику із zfs: 0: arcstats:

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

та додав до zfs: 0: arcstats:

  • buf_size
  • meta_limit
  • meta_max
  • meta_used

Таким чином, це в основному може бути проблемою з вашим сценарієм.


Це цікавий момент, але я не думаю, що я використовую жодну з цих показників, щоб повідомити про ці числа. Див. Редагування.
приріст

Вони справді все ще є тут. Враховуючи це, це виглядає дуже дивно. Ви бачите якісь погіршення продуктивності?
juwi

Я не можу сказати, що маю. Я, мабуть, повинен би це виміряти.
приріст

У випадку, якщо це не помилка у тому, що ви дивитесь, і у вас справді є дивацтво, зауважте, ви можете МОЖНО змінювати ці значення під час руху в прямому ефірі або постійно користуватися / etc / system.
Nex7
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.