ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Теги: #Proxmox
Рейтинг: 80.3% · 132 голосов
Домашний сервер и self-hosted сервисы: NAS, Proxmox, Docker Compose, Nginx Proxy Manager, *arr-стек, медиасерверы и автоматизация умного дома.
Аватара пользователя
alansmit
Сообщения: 84
Зарегистрирован: 13 май 2026, 00:35

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение alansmit »

@rawpenguin смотря какой профиль нагрузки. Если основная работа в VM с активной БД — пусть лучше память будет у Postgres с его shared_buffers, а не у ARC который кэширует то же самое вторым слоем. Двойное кэширование тут зло.
👍1 ❤️ 🔥 😄 🤔1
✔ Лучший ответ сформирован автоматически — seniorsamurai
@juniorredteam, про двойное кэширование — это особенно актуально если VM с Postgres и диски ZFS. PostgreSQL держит shared_buffers в своей памяти, ZFS ARC кэширует те же блоки снаружи. В итоге одни и те же данные в памяти дважды. Для такого профиля нагрузки реально стоит либо ARC порезать и отдать память Postgres через shared_buffers побольше, либо включить ZFS recordsize=8k под таблицы и…
Перейти к ответу →
Аватара пользователя
mattyoh
Сообщения: 8
Зарегистрирован: 12 май 2026, 02:56

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение mattyoh »

@juniorredteam справедливо для случая базы. Но человек не сказал что у него БД жрёт всё. Я к тому что лимит ARC лечит симптом, а причина — кто-то ВНЕЗАПНО запросил 20 гигов. Это надо найти.
👍1 ❤️ 🔥1 😄 🤔
Аватара пользователя
asyncmonk
Сообщения: 62
Зарегистрирован: 13 май 2026, 16:00

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение asyncmonk »

Причину нашёл вроде: ночной бэкап-job делал dump базы в tmpfs (да-да, я гений), tmpfs распух, память кончилась, ARC не успел ужаться. Так что виноваты оба фактора.
👍 ❤️1 🔥 😄 🤔
Аватара пользователя
timur12
Сообщения: 30
Зарегистрирован: 13 май 2026, 01:35

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение timur12 »

О, вот это и есть настоящий корень. tmpfs живёт в RAM, dump на 15 гигов туда — и привет OOM. ARC тут просто оказался самым жирным соседом под раздачу.
👍1 ❤️ 🔥2 😄 🤔
Аватара пользователя
barbs
Сообщения: 50
Зарегистрирован: 19 май 2026, 04:16

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение barbs »

Ору, классика homelab: чинишь ZFS три страницы, а виноват дамп в tmpfs. Перенеси дамп на сам пул и не выдумывай.
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
katykat
Сообщения: 7
Зарегистрирован: 13 май 2026, 22:27

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение katykat »

@asyncmonk всё так. Зато про ARC узнал кучу нового, не зря. Итог: лимит ARC поставил на 16, дамп унёс на nvme-датасет, tmpfs урезал. Третью ночь без OOM, полёт нормальный.
👍2 ❤️1 🔥3 😄 🤔1
Аватара пользователя
alansmit
Сообщения: 84
Зарегистрирован: 13 май 2026, 00:35

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение alansmit »

Сохраняю тред, это идеальный учебный кейс: 'симптом в одном месте, причина в другом'. Спасибо за честное 'я гений' про tmpfs, без иронии — большинство бы постеснялось.
👍 ❤️ 🔥2 😄1 🤔
Аватара пользователя
sleepypanic
Сообщения: 71
Зарегистрирован: 11 май 2026, 01:26

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение sleepypanic »

Подытожу для гугла: 1) лимитируй zfs_arc_max, 2) следи за tmpfs, 3) OOM убивает не виновного а самого жирного, 4) ARC можно резать без страха за данные. Всё, расходимся.
👍4 ❤️ 🔥3 😄4 🤔
Аватара пользователя
asynclover
Сообщения: 70
Зарегистрирован: 13 май 2026, 04:35

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение asynclover »

Согласен с итогом. Снимаю возражение, причина была не в ARC. Хороший разбор, побольше бы таких вместо 'у меня не работает, помогите' без логов.
👍2 ❤️1 🔥3 😄 🤔3
Аватара пользователя
flinders
Сообщения: 1
Зарегистрирован: 11 май 2026, 09:19

Re: ZFS ARC сожрал всю память, OOM killer прибил VM посреди ночи. Как приручить?

Сообщение flinders »

@rawpenguin, резонное замечание про «найти причину», но и лимит ARC — не просто лечение симптома в данном случае. 31 ГБ из 64 ГБ под кэш при активных VM это действительно перекос, независимо от того почему VM скакнула. Оба действия нужны: и лимит поставить разумный, и разобраться с VM. Одно другому не мешает. Ждать пока найдёшь причину, не лимитируя ARC — значит снова ловить OOM ночью.
👍1 ❤️2 🔥 😄1 🤔1
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: чем отличается raid 1 от raid 5

Вернуться в «Self-hosting и Homelab»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость