Re: Растет кол-во inode из-за кеша
Maxim Dounin
mdounin на mdounin.ru
Ср Июн 21 12:46:00 UTC 2017
Hello!
On Wed, Jun 21, 2017 at 11:09:00AM +0300, Иван Мишин wrote:
> Максим, кеш дира /tmp/ram/ была забита на 100% 28Гб из 28Гб. Сбросил часть
> кеша, получилось 25Гб занято из 28Гб. Затем исправил то о чем ты говорил и
> начальный конфиг (приведенный в первом письме) стал выглядеть вот так:
>
> > proxy_cache_path /tmp/ram/ levels=1:2 use_temp_path=off
> > keys_zone=level-1:20m max_size=26000m inactive=1440m;
> > proxy_temp_path /tmp/cache/nginx/proxy_temp;
> > proxy_cache_key $server_name$request_uri;
>
>
> Т.е. указал nginx что для кеша у него теперь 26Гб, тем самым оставив 2Гб
> запас на отвлечение cache manager.
> Но по истечении некоторого времени у меня /tmp/ram/ снова забился до 28Гб
> из "28Гб. Почему так произошло? Нужен больший запас для cache manager ?
Во-первых, если в кеше мусор по результатам старых ошибок, то
cache manager не сможет за ним нормально следить: он ничего не
знает про мусор, и соответственно не включает его в размер того,
что занято кешом. Чтобы привести всё к нормальному состоянию -
стоит очистить кеш полностью.
Во-вторых, cache manager может не иметь возможности удалять файлы
и по другим причинам, в частности - элементы кеша могут оказаться
занятыми из-за падений рабочих процессов и/или утечек сокетов.
При попытке очистки таких элементов по inactive в лог будут
писаться сообщения "ignore long locked inactive cache entry" на
уровне alert (в 1.13.1 то же будет происходить и при очистке по
max_size).
Основное, что бы я рекомендовал сделать в первую очередь - это
начать таки заглядывать в логи. Все ваши проблемы наверняка были
обозначены там неоднократно и на критических уровнях логгирования.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru