我使用 -s malloc,25G 运行清漆,但是该进程一直在增长,直到它占用所有服务器内存并崩溃,重新启动缓存。
知道我可以检查什么是错的吗?
服务器有16个内核,32 GB内存 我正在使用清漆3。
28346? Ss 0:16 / usr / sbin / varnishd -P /var/run/varnishd.pid -a:9290 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,25G -p thread_pools 16 -p thread_pool_min 160 -p thread_pool_max 16000 -p thread_pool_add_delay 2
答案 0 :(得分:8)
-s malloc,25G
only limits the cache size,而不是varnishd
进程的大小。
请务必记住,使用-s参数指定的大小是实际缓存的大小。 Varnish在此基础上有一个开销用于跟踪缓存,因此 Varnish的实际内存占用量将超过'-s'参数指定缓存是否已满。当前的估计(根据个别Varnish版本的变化而定)是每个对象所需的大约1kB的开销。对于100万个对象,这意味着额外的内存使用量为1GB。
如果您有一个大缓存,file
后端可能更合适。
答案 1 :(得分:1)
文档是正确的,但由于内存碎片问题更严重。为了安全起见,您应该允许为malloc
装卸工具配置的尺寸的1.5倍到2倍