今天领导在Gtalk上叫我,说我们的Squid有问题,流量不对。于是回头一看Mrtg果然流量呈波浪,怪了,为何会这样?初步已经否定了是Squid 服务器重启的可能性。于是登录查看log :
#cat /var/log/squid/cache.log | more
从流量图上应该能判断出出问题的时间应该是在20:15分左右,果然在当时Squid发生了告警:
2009/01/17 20:13:41| WARNING! Your cache is running out of filedescriptors
2009/01/17 20:13:57| WARNING! Your cache is running out of filedescriptors
2009/01/17 20:14:13| WARNING! Your cache is running out of filedescriptors
2009/01/17 20:14:29| WARNING! Your cache is running out of filedescriptors
2009/01/17 20:14:45| WARNING! Your cache is running out of filedescriptors
既然filedescriptors不够了,那就调一下:
#ulimit -SHn 65535
结果仍然没有效果,汗......差点放弃,想重启机器得了。但是一想这也可能跟squid.conf有关,于是又手动改了一最后一行的值:
#vim /etc/squid/squid.conf
max_filedescriptors 655360
或者你用echo 也行 :P
#echo "max_filedescriptors 655360">> /etc/squid/squid.conf
OK,重启你的squid 看看吧。
#service squid restart /*你也可以用kill -HUP*/
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.28 #1 SMP Tue Dec 30 10:31:34 CST 2008 x86_64 x86_64 x86_64 GNU/Linux
Squid Cache version 2.6.STABLE22 for x86_64-redhat-linux-gnu
修改之后问题一切都解决了。
当然,你也可以参照一下老外的改法(请不原样照搬,自己想原因,找出路永远是最好的)
原来不同的系统下的Squid配置文件是不一样的。。。Linux永远是这么乱!!!!!还是BSD好。
附:
Debian
nano /etc/defaults/squid
SQUID_MAXFD=4096
/etc/init.d/squid restart
Ubuntu
nano /etc/default/squid
SQUID_MAXFD=4096
/etc/init.d/squid restart
太深奥了。。。。。
回复删除