prev
next
ru.unix.bsd
FromEugene Grosbein0:0/0.0Date Write2018-01-10 13:29:24
ToAlex Korchmar0:0/0.0Date Arrived2018-01-10 10:50:11
SubjRe: кеш zfs на SSD
Attr
10 янв. 2018, среда, в 10:55 NOVT, Alex Korchmar написал(а):

AK>>> И да, свободная память там вся отдается под buffer cache.
AK>>> Потому что она - свободная. И иначе просто пропадает, а ты в стодесятый
AK>>> раз перечитаешь эти блоки с диска.
EG>> Да, в общем-то, однохренственно, за которой категорией будут
EG>> числится неиспользуемые страницы памяти, за buffer cache или за free,
AK> не однохренственно. buffer cache это _используемые_, но доступные для реюза
AK> - и если они вместо этого будут free - значит ты грызешь диск вместо обраще
ий
AK> к памяти.

Да вовсе не обязательно:

vfs.zfs.arc_max="32G"

Mem: 1929M Active, 38G Inact, 2022M Laundry, 6213M Wired, 1572M Buf, 13G Free
ARC: 1163M Total, 307M MFU, 758M MRU, 32K Anon, 68M Header, 30M Other
889M Compressed, 2610M Uncompressed, 2.94:1 Ratio

AK> Даже если прошлый раз этот блок читался год назад, и в следующий
AK> прочитается еще через год - лучше взять его из памяти, чем из в тысячу раз
AK> более тормозного дискового устройства, неужели это неясно?

Так приложениям память тоже бывает нужна, для счёта. Если у тебя нет
таких приложений, это не значит, что их вообще нет.

EG>> пока приложение может malloc-нуть пару сотен мегабайт для рассчетов
EG>> в любое время. Даже лучше, когда за free - понятней.
AK> malloc'нуть оно всегда может. У нас overcommit и mmap dev/zero тыщу лет уже
AK> как.
AK> Оно использовать не может - приходит sigsegv. В случае freebsd+zfs - приход
т
AK> deadlock

При работающем лимите никаких sigsegv или deadlock, всё пашет.

Eugene
--- slrn/1.0.2 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)