LINUX.ORG.RU
решено ФорумAdmin

SLAB проблемы с выделением памяти

 , ,


0

2

Доброго времени суток! Ломаю голову, не могу понять. Помогите.) Есть сервер на нем огромное кол-во файлов более 30 млн. Так же на нем крутится тяжелая БД (70 Гб) на Mysql + веб-сервер. На борту сервер имеет 32Гб ОЗУ. Проблема заключается в том, что использованная всеми процессами память + free + cached ну и т.д. не равняется общему объему памяти, ну никак. Стал ковыряться, обнаружил, что вся остальная озу в slab, а именно отдана ext4_inode_cache (19 Гб недостающей озу). Собственно, сам вопрос, а точнее несколько: 1. Не многовато ли 19 Гб под кеш дискрипторов? 2. Серверу БД и прочим процессам периодически начинает не хватать остатка ОЗУ и система начинает активно раздавать память из SWAP, растет wa, следом LA, вообщем картина становится печальной. Разве slab не должен высвободить необходимую память требующим процессам из этого кеша?

Что в /proc/sys/vm/vfs_cache_pressure? Попробуй записать туда 1000 или больше(чтобы при перезугрузке сохранялось, тыкай sysctl.conf или что там в systemd).

anonymous ()
Ответ на: комментарий от anonymous

vfs_cache_pressure = 100 Дефолтное значение. Если ставить 1000 и больше, это же приведет к еще более агрессивной политике кеширования.

lasthappy ()
Ответ на: комментарий от lasthappy

Больше 100 — при недостатки памяти в большей степени выгружаются inode'ы и в меньшей кеши. Меньше 100 в большей степени выгружается кеш и в меньшей inode'ы. Значение в процентах, поэтому 1000 и 10 это соответственно в 10 раз больше и в 10 раз меньше от дефолта.

chaos_dremel ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.