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

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

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

Сообщение kickmybox »

Proxmox 8.0, 64 ГБ RAM. Ночью OOM killer вынес мою главную VM с базой. Смотрю — ARC раздулся до 31 ГБ. Я думал ARC сам отдаёт память когда надо, разве нет?
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — seniorsamurai
@juniorredteam, про двойное кэширование — это особенно актуально если VM с Postgres и диски ZFS. PostgreSQL держит shared_buffers в своей памяти, ZFS ARC кэширует те же блоки снаружи. В итоге одни и те же данные в памяти дважды. Для такого профиля нагрузки реально стоит либо ARC порезать и отдать память Postgres через shared_buffers побольше, либо включить ZFS recordsize=8k под таблицы и…
Перейти к ответу →
Аватара пользователя
Omoto
Сообщения: 120
Зарегистрирован: 12 май 2026, 03:05

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

Сообщение Omoto »

Должен отдавать, но на практике сжимается слишком поздно и медленно. Когда VM резко запросила память — ARC не успел освободиться, ядро решило что проще кого-то убить. Классические грабли.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
rawpenguin
Сообщения: 26
Зарегистрирован: 11 май 2026, 19:46

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

Сообщение rawpenguin »

По дефолту ARC берёт до 50% RAM на установках до PVE 8.1. Ставь жёсткий лимит руками: zfs_arc_max в /etc/modprobe.d/zfs.conf, у тебя на 64 гига я бы дал ARC гигов 16.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
burneddeadlock
Сообщения: 24
Зарегистрирован: 21 май 2026, 15:44

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

Сообщение burneddeadlock »

А почему именно 16? Есть формула или на глаз?
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
seniorwarlock
Сообщения: 57
Зарегистрирован: 12 май 2026, 00:23

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

Сообщение seniorwarlock »

Базовая прикидка: 2 ГБ + 1 ГБ на каждый ТБ пула. У тебя сколько данных на пуле? Но если RAM нужна под VM — режь смело, ARC это всего лишь кэш чтения, не потеряешь данные, только чуть просядет скорость.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
alansmit
Сообщения: 84
Зарегистрирован: 13 май 2026, 00:35

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

Сообщение alansmit »

Пул на 8 ТБ, занято ~5. По формуле ~7 ГБ выходит. Поставлю 12 с запасом. update-initramfs -u и ребут нужен ведь?
👍2 ❤️ 🔥1 😄 🤔
Аватара пользователя
duel
Сообщения: 7
Зарегистрирован: 12 май 2026, 12:02

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

Сообщение duel »

Да, update-initramfs -u -k all и ребут, иначе модуль подхватит старое значение. Можно и на лету через /sys/module/zfs/parameters/zfs_arc_max, но после ребута слетит.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
hogan20
Сообщения: 71
Зарегистрирован: 13 май 2026, 12:49

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

Сообщение hogan20 »

Народ, на PVE 8.1+ для свежих установок дефолт уже 10% RAM с потолком 16 ГБ. Так что апгрейднутые с древних версий ловят 50%, а новички удивляются о чём вообще тред.
👍 ❤️ 🔥 😄 🤔1
Аватара пользователя
juniorredteam
Сообщения: 66
Зарегистрирован: 11 май 2026, 07:16

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

Сообщение juniorredteam »

Важный нюанс: ARC и так не считается ядром как 'свободная' память корректно во всех случаях. Плюс если у тебя KSM и баллонинг на VM — там вообще цирк начинается с учётом памяти.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
hogan20
Сообщения: 71
Зарегистрирован: 13 май 2026, 12:49

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

Сообщение hogan20 »

Лимитить ARC до 16 на 64 гигах — кощунство, у тебя кэш чтения будет постоянно промахиваться. Лучше разберись почему VM так резко скакнула по памяти. У тебя там точно не своп внутри гостя отвалился?
👍 ❤️ 🔥 😄 🤔1
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: чем отличается raid 1 от raid 5

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

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

Сейчас этот форум просматривают: Bing [Bot] и 1 гость