FreeBSD Squid代理缓存服务器增加文件描述符限制

时间:2020-01-09 10:43:43  来源:igfitidea点击:

我在FreeBSD 7.2服务器和Squid稳定缓存服务器下收到如下错误:

WARNING! Your cache is running out of filedescriptors
警告!您的缓存用尽了文件描述符

如何解决此问题并增加FreeBSD服务器的系统范围内可用文件描述符的数量?

对于繁忙的代理缓存服务器,您需要通过编辑/etc/sysctl.conf文件来增加系统范围内的可用文件描述符的数量。
无需更改squid.conf。

在FreeBSD下查找当前的Squid文件描述符限制

执行以下命令:

# squidclient mgr:info | grep 'file descri'

或者

# squidclient -p 8080 -u USERNAME -w 'secretePassword' mgr:info | grep 'file descri'

增加Squid文件描述符限制

在shell提示符下执行以下命令:

# sysctl kern.maxfilesperproc=8192
# sysctl kern.maxfiles=65535

要在重启后保留设置,请将其添加到/etc/sysctl.conf

echo 'kern.maxfilesperproc=8192' >> /etc/sysctl.conf
echo 'kern.maxfiles=65535' /etc/sysctl.conf

其中:

  • kern.maxfilesperproc将打开文件的最大数量设置为65535
  • kern.maxfiles将每个进程允许打开的最大文件数设置为8192

您也可以选择增加端口范围:

# sysctl net.inet.ip.portrange.last=65535
# sysctl net.inet.ip.portrange.first=1024

最后,重新启动Squid并验证您是否为Squid代理服务器获得了新的FD设置:

# squidclient mgr:info | grep 'file descri'