Too many deleted open files in proxy_temp_path
Maxim Dounin
mdounin at mdounin.ru
Sun Apr 12 14:49:38 UTC 2020
Hello!
On Fri, Apr 10, 2020 at 11:26:17AM -0400, patademahesh wrote:
> We are using nginx as reverse proxy to cache static content for a moodle LMS
> site. The caching part is working fine but we started facing the cache path
> disk full issues. When we checked using du, it was reporting very low used
> space.Then we checked lsof output we found too many deleted file entries. We
> realized, that file gets deleted but it holds the FD and disk space is never
> released until we restart the nginx server. Most of the files were from
> proxy_temp_path location. We tried this with tmpfs and normal disk but the
> end result was same.
>
> # nginx -v
> nginx version: nginx/1.10.3 (Ubuntu)
Note that when writing temporary files when proxying (without
caching, but there is no caching configured in "location /"), it
is quite normal that temporary files are unlinked (deleted) right
after creation and cannot be seen by "du". This way temporary
files are automatically removed by the system as long as a file is
closed - or if nginx is killed or crashes.
If you think that temporary files are not removed from disk even
if corresponding client connections are closed - this might
indicate a socket leak. Usually, socket leaks can be seen by
other symptoms as well - such as connections in the CLOSED state
as shown by "netstat -an", or "open socket ... left in connection ..."
alerts during graceful shutdown of worker processes. Given
that you are using an ancient nginx version, socket leaks might be
the case - there are at least some fixed since 1.10.3, mostly in
HTTP/2.
On the other hand, if deleted files is the only symptom you are
seeing, it might simply indicate that corresponding client
connection is still open and the client is slowly downloading the
response in question. If that's true, you may want to either use
a filesystem with more space for temporary files, or tune
proxy buffering, see here:
http://nginx.org/r/proxy_max_temp_file_size
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx
mailing list