%20%D0%B4%D0%BB%D1%8F%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0%2C%20%D0%BD%D0%B5%20%D1%8F%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B5%D0%B3%D0%BE%D1%81%D1%8F%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%BC%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%BC.png)
Во многих материалах по ZFS упоминается, что, по сути, чем больше памяти вы можете в нее вложить, тем лучше. Однако я планирую использовать ZFS на ноутбуке с 16 ГБ ОЗУ — хотя этого должно быть достаточно для ZFS, я хочу иметь возможностьиспользоватькомпьютер, а не обслуживать файлы с него; другими словами, я хочу, чтобы приложения могли использовать (по крайней мере большую часть) этой памяти, а не реализацию файловой системы.
Итак, если сформулировать вопрос, как мне интерпретировать требования ZFS к памяти, если она работает на компьютере, на котором также работают приложения, нечувствительные к вводу-выводу, с высоким потреблением памяти?
решение1
Требуется 2 ГБ памяти в соответствии сЧасто задаваемые вопросы о ZFS в Linux.
Вы также можете настроить требования к памяти, установив zfs_arc_max
параметр:
# cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=4294967296
Есть параметры, /sys
которые показывают zfs
настройки:
/sys/module/zfs/parameters/zfs_arc_max
/sys/module/zfs/parameters/zfs_arc_min
Вы также можете указать, какие файловые системы будут кэшироваться, с помощью zfs primarycache
настройки:
# zfs set primarycache=[all none metadata] zpool/fs
решение2
Хотя ZFS будет использовать столько памяти, сколько посчитает полезным для кэширования данных, она вернет ее приложениям, если в ней возникнет потребность.
Обратите внимание, что другие файловые системы также будут брать столько памяти, сколько им нужно в качестве кэша. Главное отличие в том, что память сразу становится доступной для приложений. С ZFS есть небольшая задержка, но она не должна иметь значения, если только у вас нет приложения, которое хочет использовать память быстрее, чем ZFS может ее освободить, или которое учитывает сообщаемую свободную память (+буфер/кэш) и отказывается запускаться, если ее недостаточно.
В таком случае, если вы заранее знаете объем памяти, необходимый вашим приложениям, вы можете задать значение настройки максимального размера дуги, чтобы зарезервировать часть оперативной памяти.
решение3
Я запускаю zfs на Linux на моем сервере с 8 ГБ оперативной памяти. Согласно документации, он потребляет большую часть оперативной памяти. Однако я не заметил никакой разницы в производительности при запуске приложений, интенсивно использующих память. Похоже, что если вам нужна память, zfs с радостью отдает ее для использования. Однако привыкайте видеть смехотворные проценты используемой памяти.