Linux 清漆过程未关闭,占用大量内存
我们在centos服务器上使用Varnish cache 4.1,启动Varnish服务器时,很多Varnish进程启动,但没有关闭,由于这个问题,我们面临内存泄漏问题,请告诉我们如何解决 我的配置是:/etc/sysconfig/varnishLinux 清漆过程未关闭,占用大量内存,linux,varnish,Linux,Varnish,我们在centos服务器上使用Varnish cache 4.1,启动Varnish服务器时,很多Varnish进程启动,但没有关闭,由于这个问题,我们面临内存泄漏问题,请告诉我们如何解决 我的配置是:/etc/sysconfig/varnish #DAEMON_OPTS="-a :80 \ # -T localhost:6082 \ # -f /etc/varnish/default.vcl \ # -S /etc/var
#DAEMON_OPTS="-a :80 \
# -T localhost:6082 \
# -f /etc/varnish/default.vcl \
# -S /etc/varnish/secret \
# -p thread_pools=8 \
# -p thread_pool_max=4000 \
# -p thread_pool_add_delay=1 \
# -p send_timeout=30 \
# -p listen_depth=4096 \
# -s malloc,2G"
backend default {
.host = "127.0.0.1";
.port = "8080";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}
34514 89208 83360 5 0.0 4.3 0:00.00/usr/sbin/varnishd-a:80-f/etc/varnish/default.vcl-T 127.0.0.1:6082-T 120-p螺纹池最小=50-T 1678 varnish 20 0 345M 89208 83360 S 0.0 4.3 0:00.03/usr/sbin/varnishd-a:80-f/etc/varnish/default.vcl-T 127.0.0.0.0.0.1:6082-T 120-p螺纹池最小=50-p螺纹池最小=50-p你不是限制瞬态对象的空间。默认情况下,使用不受限制的malloc(请参见官方文档:) 从我在您的消息中看到的情况来看,您没有使用参数
DAEMON\u OPT
。
varnishd.service文件和/etc/varnish/varnish.params的内容是什么
编辑
你的init.d脚本没有问题。它应该使用/etc/sysconfig/varnish中的设置。
清漆消耗多少RAM?
所有清漆线程共享相同的存储空间(malloc 2G+瞬态malloc 100M),因此存储空间应达到2.1G。您需要为缓存中存储的每个对象添加1KB的平均开销,以获得使用的总内存。
我认为你没有内存泄漏,这个过程是正常的。您告诉varnish生成50个进程(使用thread\u pools
参数),所以它们是预期的
我建议减少线程池的数量,您将其设置为50。您应该能够将其减少到2到8之间的某个值,同时将线程池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池。
我们运行的服务器非常大,有2个池*1000-5000个线程,没有问题。谢谢,请查找具有暂时限制的守护进程,但我们仍然面临相同的问题,而且我们在“/etc/varnish/varnish.params”中没有单独的参数。谢谢。varnishd.service文件的内容是什么,或者启动varnishd守护进程的是什么?我想知道使用了哪些参数。请在此链接中查找/etc/init.d/varnish内容