module: zfs instance: 0
name: arcstats class: misc
size 2420348928
2GB памяти под кэш забрала ZFS. С одной стороны это и не плохо, но память нужна и другим приложениям. Убавить аппетиты можно так - в /etc/system запишем
set zfs:zfs_arc_max=0xЗНАЧЕНИЕ
где ЗНАЧЕНИЕ - это шестнадцатеричное представление объема отводимой памяти под кэш zfs
А вот как бы установить это огранчиение без перезагрузки сервера??
Вот здесь сценарий просмотра ARC-статистики ZFS
5 комментариев:
А так не прокатит?
export zfs:zfs_arc_max=0xЗНАЧЕНИЕ
А сам пробовал? Хочешь сказать, что export отработает на уровне ядра для модуля zfs?:))
Далее все зависит от реализации этих вещей в модуле ядра, считывает он эти значения на этапе загрузки или мониторит в процессе работы.
Но опять же, в данном случае требуется менять настройки ARCa, а для него вроде есть arc_tune, который вроде как бы позволяет менять настройки на ходу.
Да, и тут есть такой момент:
http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Limiting_the_ARC_Cache
This syntax is provided starting in the Solaris 10 8/07 release and Solaris Nevada build 51 release.
Set dynamically:
echo zfs_prefetch_disable/W0t1 | mdb -kw
Revert to default:
echo zfs_prefetch_disable/W0t0 | mdb -kw
Похожий синтаксис должен присутствовать и для изменения требуемого Вами параметра.
Даже если и удастся поменять, оно не будет иметь никакого эффекта до ребута. В 11.2 этот параметр заменили на user_reserve_hint_pct и для изменения есть готовый скрипт http://blog.zach.st/2014/08/02/control-the-size-of-the-zfs-arc-cache-dynamically.html
Отправить комментарий