CentOS7でsystemdの場合、起動スクリプトは
/etc/systemd/system
/usr/share/systemd/sysmte/*.service
squidのfiledescriptorのlimitを変更するには、
/usr/lib/systemd/system/squid.service
現在のsquidのlimitの確認(Max open files)
#4603はsquidのプロセスID
[root@hoge system]# cat /proc/4603/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 55412 55412 processes
Max open files 16384 16384 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 55412 55412 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
-------------------------------------------------
変更する。
[root@hoge system]# cat squid.service
[Unit]
Description=Squid caching proxy
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
LimitNOFILE=16384
EnvironmentFile=/etc/sysconfig/squid
ExecStartPre=/usr/libexec/squid/cache_swap.sh
ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
[Install]
WantedBy=multi-user.target
LimitNOFILEを増やす。
[root@hoge system]# cat squid.service
[Unit]
Description=Squid caching proxy
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
LimitNOFILE=65536
EnvironmentFile=/etc/sysconfig/squid
ExecStartPre=/usr/libexec/squid/cache_swap.sh
ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
[Install]
WantedBy=multi-user.target
再起動して確認。
[root@hoge ~]# ps aux |grep squid
root 1113 0.0 0.0 80576 3308 ? Ss 08:41 0:00 /usr/sbin/squid -f /etc/squid/squid.conf
squid 1116 86.1 17.9 2630044 2554428 ? R 08:41 1:36 (squid-1) -f /etc/squid/squid.conf
squid 1180 0.0 0.0 27236 1236 ? S 08:41 0:00 (unlinkd)
hiramatu 2143 0.0 0.0 112660 968 pts/0 S+ 08:43 0:00 grep --color=auto squid
[root@hoge ~]# cat /proc/1113/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 55412 55412 processes
Max open files 65536 65536 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 55412 55412 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
--------------------------------------
さて、どうなることやら。