Re: Растет кол-во inode из-за кеша
Maxim Dounin
mdounin на mdounin.ru
Пт Июн 16 14:25:24 UTC 2017
Hello!
On Fri, Jun 16, 2017 at 04:57:04PM +0300, Иван Мишин wrote:
> Крахов файловой системы не было, каталог /tmp/ram отдан исключительно под
> кеш nginx. За последнюю неделю набежало 5941794 файлов нулевого размера в
> кеш каталоге.
> В общем эта проблема очень актуальна для меня и преследует уже не первый
> месяц, есть у кого-нибудь идеи как я могу отдиагностировать ситуацию?
> Максим, можно подробнее про "кончилось место при копировании из каталога со
> временными файлами", не совсем понимаю что ты имеешь ввиду?
Если proxy_temp_path и proxy_cache_path находятся на разных
файловых системах, то просто переместить временный файл в кеш
нельзя, приходится его копировать, создав новый файл. Подробнее
про это рассказывается в описании директивы proxy_cache_path:
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_path
Если в процессе копирования произойдёт ошибка, например из-за
того, что файловая система, на которой располагается кеш,
переполнена, то в логе будет ошибка уровня alert, а в кеше
останется лежать недописанный файл.
Отмечу в скобках, что если вот это:
> > > кеш в ramfs на 28Гб со следующими настройками:
> > >
> > > > proxy_cache_path /tmp/ram/ levels=1:2 keys_zone=level-1:20m
> > > > max_size=28000m inactive=1440m;
и правда озаначает, что размер ramfs - 28 гигабайт, то результат
ожидаем.
Вы сказали nginx'у, что начинать чистить кеш надо при превышении
размера в 28 гигабайт. Если cache manager отвлечётся хоть немного
на другие задачи (а он может заниматься другими кешами, если они
есть, или просто уйти спать на 10 секунд, почистив всё) - файловая
система переполнится, и будут ошибки. Вам надо менять настройки.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru