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