[squid-users] The right way how to increase max_filedescriptors on Linux
kAja Ziegler
ziegleka at gmail.com
Mon May 21 12:08:56 UTC 2018
Hi,
I want to ask, if it is really needed to use ulimit or
/etc/security/limits.conf to increase max_filedescriptors value? From my
testing, it seems not.
*= my environment:*
CentOS 6.9
Squid 3.1.23 / 3.4.14
*- default ulimits for root and other users:*
[root at ...]# ulimit -Sa | grep -- '-n'
open files (-n) 1024
[root at ...]# ulimit -Ha | grep -- '-n'
open files (-n) 4096
*- default ulimits for squid user:*
[root at ...]# sudo -u squid /bin/bash
bash-4.1$ id
uid=23(squid) gid=23(squid) groups=23(squid),...
bash-4.1$ ulimit -Sa | grep -- '-n'
open files (-n) 1024
bash-4.1$ ulimit -Ha | grep -- '-n'
open files (-n) 4096
*- processes:*
[root at ...]# ps aux | grep squid
root 7194 0.0 0.1 73524 3492 ? Ss May17 0:00 squid -f
/etc/squid/squid.conf
squid 7197 0.2 10.9 276080 210156 ? S May17 4:53 (squid) -f
/etc/squid/squid.conf
squid 7198 0.0 0.0 20080 1084 ? S May17 0:00 (unlinkd)
*- error and warning messages from cache.log:*
client_side.cc(3070) okToAccept: WARNING! Your cache is running out of
filedescriptors
comm_open: socket failure: (24) Too many open files
IpIntercept.cc(137) NetfilterInterception: NF getsockopt(SO_ORIGINAL_DST)
failed on FD 68: (2) No such file or directory ... (many with different FD)
I found many How-tos like these - https://access.redhat.com/solutions/63027
and
https://www.cyberciti.biz/faq/squid-proxy-server-running-out-filedescriptors/.
Both how-tos mention editing the file /etc/security/limits.conf and adding
the line "* - nofile 4096" to increase the nofile limit for all users
except root - I don't like this. According to my test, see below, this is
not necessary, but I want to be sure, so I'm writing here.
*a) Squid default configuration (max_filedesc 0) and default nofile limit
(1024/4096):*
[root at ...]# ps aux | grep squid
root 17837 0.0 0.1 73524 3496 ? Ss 13:45 0:00 squid -f
/etc/squid/squid.conf
squid 17840 0.3 0.5 76552 10860 ? S 13:45 0:00 (squid) -f
/etc/squid/squid.conf
squid 17841 0.0 0.0 20080 1084 ? S 13:45 0:00 (unlinkd)
[root at ...]# grep -E "Limit|Max open files" /proc/17837/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
[root at ...]# grep -E "Limit|Max open files" /proc/17840/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
[root at ...]# grep -E "Limit|Max open files" /proc/17841/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
*b) Squid configuration with max_filedesc 2048 and default nofile limit
(1024/4096):*
[root at ...]# ps aux | grep squid
root 7194 0.0 0.1 73524 3492 ? Ss May17 0:00 squid -f
/etc/squid/squid.conf
squid 7197 0.2 10.9 276080 210156 ? S May17 4:53 (squid) -f
/etc/squid/squid.conf
squid 7198 0.0 0.0 20080 1084 ? S May17 0:00 (unlinkd)
[root at ...]# grep -E "Limit|Max open files" /proc/7194/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
[root at ...]# grep -E "Limit|Max open files" /proc/7197/limits
Limit Soft Limit Hard Limit Units
Max open files *2048* 4096 files
[root at ...]# grep -E "Limit|Max open files" /proc/7198/limits
Limit Soft Limit Hard Limit Units
Max open files *2048* 4096 files
- soft nofile limit was increased for processes running under squid user
*c) Squid configuration with max_filedesc 8192 and default nofile limit
(1024/4096):*
[root at ...]# ps aux | grep squid
root 18734 0.0 0.1 73524 3492 ? Ss 14:00 0:00 squid -f
/etc/squid/squid.conf
squid 18737 0.3 0.6 80244 11860 ? S 14:00 0:00 (squid) -f
/etc/squid/squid.conf
squid 18740 0.0 0.0 20080 1088 ? S 14:00 0:00 (unlinkd)
[root at ...]# grep -E "Limit|Max open files" /proc/18734/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
[root at ...]# grep -E "Limit|Max open files" /proc/18737/limits
Limit Soft Limit Hard Limit Units
Max open files *8192* *8192*
files
[root at ...]# grep -E "Limit|Max open files" /proc/18740/limits
Limit Soft Limit Hard Limit Units
Max open files *8192* *8192*
files
- both soft and hard nofile limits were increased for processes running
under squid user
I think, that the limits could be increased in tests b) and c) because the
master process runs under the root user. Am I right or not?
Or need I to increase the limits for the master proccess too?
Thank you and with best regards,
--
Karel Ziegler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20180521/66f06df5/attachment.html>
More information about the squid-users
mailing list