Welcome! Log In Create A New Profile

Advanced

massive deleted open files in proxy cache

Marco Lenhardt
February 20, 2017 04:46AM
Hi!

We are useing Ubuntu 16.04 with nginx version 1.10.0-0ubuntu0.16.04.4.

nginx.conf:

user nginx;
worker_processes auto;
worker_rlimit_nofile 20480; # ulimit open files per worker process

events {
# Performance
worker_connections 2048; # openfilelimits beachten
multi_accept on;
use epoll;
}

http {
open_file_cache max=10000 inactive=1d;
open_file_cache_valid 1d;
open_file_cache_min_uses 1;
open_file_cache_errors off;

proxy_cache_path /var/cache/nginx/proxy_cache
levels=1:2 keys_zone=html_cache:30m max_size=8192m inactive=4h
use_temp_path=off;
proxy_cache_path /var/cache/nginx/wordpress_cache
levels=1:2 keys_zone=wordpress_cache:1m max_size=256m inactive=24h
use_temp_path=off;

proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}


# df -h |grep cache
tmpfs 300M 74M 227M 25% /var/cache/nginx/wordpress_cache
tmpfs 9.0G 4.1G 5.0G 45% /var/cache/nginx/proxy_cache

# df -i |grep cache
tmpfs 20632978 5457 20627521 1% /var/cache/nginx/wordpress_cache
tmpfs 20632978 74613 20558365 1% /var/cache/nginx/proxy_cache

# grep cache /etc/fstab
tmpfs /var/cache/nginx/proxy_cache/ tmpfs
rw,uid=109,gid=117,size=9G,mode=0755 0 0
tmpfs /var/cache/nginx/wordpress_cache/ tmpfs
rw,uid=109,gid=117,size=300M,mode=0755 0 0


# free -m
total used free shared buff/cache
available
Mem: 161195 112884 1321 4626 46988
42519
Swap: 3903 211 3692


Problem:
========
We got massive open file handles from nginx user located inside
proxy_cache_path with status deleted:

# lsof -E -M -T > lsof.`date +"%Y%d%m-%H%M%S"`.out

nginx 3613 nginx 48r REG 0,42 148664 29697
/var/cache/nginx/proxy_cache/temp/5/23/04ca8002edd2daa3c538ada5b202d6eb
(deleted)
nginx 3613 nginx 50r REG 0,42 161618 19416
/var/cache/nginx/proxy_cache/temp/1/40/d8f0a3563d18af4fbf43242e19283b15
(deleted)

# grep nginx lsof.20172002-085328.out |wc -l
69003

# grep nginx lsof.20172002-085328.out |grep deleted |wc -l
36312

# grep nginx lsof.20172002-085328.out |grep deleted |grep
"/var/cache/nginx/proxy_cache/temp" |wc -l
32004

The most of the 36k deleted files are located inside the temp cache folder.

My question is, why we got so much deleted files inside the cache. Why
is nginx not freeing these files?
Is there a problem with the proxy_cache_path option use_temp_path=off ?

I am in worry that the cache file system will be filled up with deleted
files, and will reach open files limits.

Or do we have a nginx misconfiguration somewhere?

Additionally we were often visited from the oom-killer, (in face of 20G
free memory). If I restart nginx before we reach 80k open ngnix files,
the oom-killer will not visit us!

Has anybody simmilar findings regarding deleted open files?

br,
Marco
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

massive deleted open files in proxy cache

Marco Lenhardt February 20, 2017 04:46AM

Re: massive deleted open files in proxy cache

rihad June 20, 2018 07:38AM

Re: massive deleted open files in proxy cache

pbooth June 20, 2018 10:08AM

Re: massive deleted open files in proxy cache

patademahesh April 10, 2020 10:11AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 245
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready