> Доброго времени суток, комрады!
> Ломаю голову, не могу понять. Помогите.)
> Есть сервер на нем огромное кол-во файлов более 30 млн. Так же
> на нем крутится тяжелая БД (70 Гб) на Mysql + веб-сервер.
> На борту сервер имеет 32Гб ОЗУ.
> Проблема заключается в том, что использованная всеми процессами память + free +
> cached ну и т.д. не равняется общему объему памяти, ну никак. Потому, что их всех не надо складывать. Они не складываются потому что пересекаются. Это сложно и непонятно, в это надо просто Верить! (Но у меня обычно получается больше физ.объёма -- вероятно, от характера задач ~см.ниже.)
Скажем, "чистые" кеши считаются и свободной памятью, а shared память нескольких форков одного демона БД физически суть одна (по большей части?). Но посчитать и увидеть это... сложно. "Товарищь, верь!"
> Это вроде как понятно, вся остальная озу в slab, а именно
Это, вроде как, понятно -- фантазирование... Пустое это. //Оставляю за собой право ошибаться -- понятно№2.
> отдана ext4_inode_cache (19 Гб недостающей озу).
> Серверу БД и прочим процессам периодически начинает не хватать остатка ОЗУ и
У меня для сервера "в большой части БД" экстенсивное решение было -- больше ОЗУ, чтоб и сервисам памяти хватало, и _БД_ в файловом кеше ОС помещалась целиком (повторяю: экстенсивный путь!). (Мелочи типа устоявшейся и максимальной нагрузки на дисковый io не рассматриваем.)
Типа, база 60-75Гб vs ОЗУ 96ГБ - оки, база подросла до 75-90ГБ - "чётт жмёт, поскрипывает, проседает" (там и iops-ы тож подросли, поприжались). Новый сервер со 128ГБ ОЗУ (и шпинтелями-дисками числом и скоростью поболе, да) --> стало "вааще всё зашибись" (ну, индексы пухнут, фрагментация таблиц увеличивает iops-ы под той же устоявшейся нагрузкой -- но, опять, не суть).
> система начинает активно раздавать память из SWAP, растет wa, следом LA,
Что нужно файловому серверу "с миллионами файлов" (и неизвестным характером нагрузки) я не знаю. Может быть, просто селить нагруженные шары на одном сервере с нагруженной БД и недостатком ресурсов -- плохая идея. Может быть, оно будет "заваливаться" то в одну, то в другую сторону... Но, вполне допускаю, что найдётся кто-нибудь из коллег, кто поделится, что нужно и для такого сочетания, как его померить, выстроить и обеспечить ресурсами.