Во времена версий 9.x коллективным разумом на нашей конфе был разработан тюнинг, обеспечивающий увеличение производительности. Он с успехом пережил несколько версий базовой оси, но с выходом FreeBSD 11.0 утратил актуальность. Как я писал вчера ( с картинками и примерами от камрадов), если у вас используется коробочный функционал, если много памяти если и вы не отключали включённый автоматом для страховки SWAP - система всё сделает автоматически.
Что если какие-то из этих если не выполняются?
1) Если вы отключили SWAP, то, скорее всего, в основном всё будет нормально. Но иногда (в зависимости от нагрузки и погоды на Мадагаскаре) сервисы будут уходить в панику, а система - вставать колом. Ср. nas4free 11.0 - включите SWAP, не шучу
2) Если у вас кроме функционала коробки используется что-то жрущее память, то система даже на большом её объёме будет немножко использовать SWAP. Чудесный пример привёл камрад с ником Копи-центр Сириус-Б:
мне пришлось тюнинг все таки оставить и vfs.zfs.arc_max ограничить т.к. при использовании Plex, VirtualBox, Syncthing все таки начинает использоваться SWAP , сейчас используется память на 87%
Всего памяти у него 7.8Gb (вероятно, немножко ушло на разделяемую видеопамяять). А vfs.zfs.arc_max он ограничил величиной 4400M

И что изменилось? Смотрим на распределение всей памяти

И видим (синяя линия внизу слева), что до тюнинга SWAP немножко, но использовался. Если он организован на разделе жёсткого диска - то и прекрасно. И даже IMHO оптимально. А вот если SWAP на флешке - надо что-то делать. Смотрим справа, после тюнинга. Свободной памяти стало больше. Но SWAP точить перестало.
Смотрим подробнее на zfs кеш.

Видно, что до тюнинга zfs то забирал, то отдавал память системе. После тюнинга наступила стабильность. Важный вопрос, а почему 4400M? Cколько правильно? Если SWAP на диске, то, повторю, так и оставил бы. Если на флешке - зависит от того, какой софт вы гоняете. Надо подбирать.
Ср также коммент камрада
3) А что такое много памяти? IMHO 6Gb физической и более (хотя в примере выше из-за допссофта и на 8-ми тюнинг пришёлся ко двору). Если памяти 4Gb или менее - то во-первых, отключится упреждающее чтение и vfs.zfs.prefetch_disable примет значение 1. Это приведёт к заметному падению скорости чтения. Если физической памяти у вас 4, или даже 3Gb - я бы советовал потестить вариант с принудительно включённым упреждающим чтением (выставив в vfs.zfs.prefetch_disable в 0). Ну и, конечно, если памяти не в избытке советовал бы внимательно смотреть не используется ли SWAP на флешке. И всерьёз задуматься о включении SWAP на жёстком диске. Как его делать. Если памяти 2Gb и менее - SWAP на жёстком диске более чем рекомендован.
PS Приведу как пример выставленные моей системой по автомату значения переменных тюнинга (напомню - 16Gb физической памяти)
vfs.zfs.arc_max: 15380824064
vfs.zfs.arc_min: 1922603008
vfs.zfs.prefetch_disable: 0
vfs.zfs.txg.timeout: 5
vm.kmem_size: 16454565888
vm.kmem_size_max: 1319413950874
vm.kmem_size_min: 0
Читать любой параметр можно в командной строке через sctl, например sctl vfs.zfs.arc_max
PPS Параметры vfs.zfs.vdev.max_pending и vfs.zfs.vdev.min_pending хотя и упомянуты во FreeBSD мануале, на самом деле из кода уже удалены.