= Сообщение: 9548 из 10753 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 26 Dec 19 12:31:33 Кому : Victor Sudakov 26 Dec 19 12:31:33 Тема : Re: vfs.zfs.arc_max FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+83072e2f На : area://RU.UNIX.BSD?msgid=2:5005/49+5e039cb3 = Кодировка сообщения определена как: IBM866 ================================= Ответ: area://RU.UNIX.BSD?msgid=2:5005/49+5e084474 ============================================================================== 26 дек. 2019, четверг, в 00:28 NOVT, Victor Sudakov написал(а):
VS> Почему сабж не ограничивает размер ARC? Или я неправильно понимаю его действие? VS> # top | grep ^ARC VS> ARC: 938M Total, 633M MFU, 65M MRU, 15M Anon, 9277K Header, 215M Other VS> # sysctl vfs.zfs.arc_max VS> vfs.zfs.arc_max: 41943040 VS> # VS> https://wiki.freebsd.org/ZFSTuningGuide читал, это прямо пример оттуда про VS> vfs.zfs.arc_max="40M"
Это писалось во времена FreeBSD 9.x или раньше и тогда оно работало чётко.
С тех пор код ZFS изменился и теперь это "мягкий лимит", который ZFS нынче легко превышает, например, если метаданные дерева src/ports/obj не влазят в заниженный ARC при ночном запуске periodic daily, который тоже писался до появления ZFS и радостно обходит find'ом всё вокруг.
В частности поэтому на мелких виртуалках я делаю z/src, z/obj и z/ports без автомонтирования и засовываю их в /etc/fstab с noauto, чтобы когда надо, делать просто mount /usr/ports, а потом umount /usr/ports.
Теоретически ZFS затем должно освобождать "лишнюю" память, практически до недавнего времени это точно было сломано, но вроде бы потом чинили (не проверял). Есть workaround: завысить vm.v_free_min, но можно переборщить и привести систему в нерабочее состояние.
vm.v_free_min измеряется в 4-килобайтных страницах и на десктопной системе (рабочая станция с иксами) с 8G памяти работает завышение до 131072 (512MB). Смысл завышения в том, чтобы заставить фрёвый pagedaemon пинать ZFS на тему высвобождения памяти не тогда, когда система уже вошла в vm trashing, а сильно заранее.
Eugene -- Как жаль, что не роняли вам на череп утюгов. Скорблю о вас - как мало вы успели. --- slrn/1.0.3 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)