在CentOS 7上用完文件描述符的Squid

前端之家收集整理的这篇文章主要介绍了在CentOS 7上用完文件描述符的Squid前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在CentOS 7上运行Squid 3.3(EPEL),最近我在cache.log中收到以下错误消息
WARNING! Your cache is running out of filedescriptors

我有点困惑,因为我似乎有足够的描述符可用:

squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors:   16384
Available number of file descriptors: 16326
Reserved number of file descriptors:   100

Squid也用这个标志编译:

--with-filedescriptors=16384

Squid确认这些在启动时实际可用:

2015/08/18 21:11:45 kid1| With 16384 file descriptors available

但是这个错误不断发生.记录此错误后不久,squid进程似乎也达到100%@R_301_456@或使用几乎所有系统内存超过90%,导致Internet速度下降到爬行或无限期挂起.杀死进程并重新启动它会解决它但最终会再次发生.

我总共有8 GB的内存,这些是我的squid.conf中与内存/缓存相关的参数

cache_dir ufs /var/spool/squid 16000 16 256
cache_mem 1024 MB

我还使用ufdbguard和其他辅助插件进行Kerberos和NTLM身份验证.

任何建议?

文件描述符的数量在systemd单元文件中设置.默认情况下,这是16384,您可以在/usr/lib/systemd/system/squid.service中看到.

要覆盖它,请创建一个本地覆盖的/etc/systemd/system/squid.service,它会更改文件描述符的数量.它应该看起来像这样:

.include /usr/lib/systemd/system/squid.service

[Service]
LimitNOFILE=65536

不要编辑默认文件/usr/lib/systemd/system/squid.service,因为只要更新软件包,它就会被恢复.这就是为什么我们将它放在本地文件中以覆盖默认值.

创建此文件后,告诉systemd:

systemctl daemon-reload

然后重启squid.

systemctl restart squid

猜你在找的CentOS相关文章