【问题标题】:Limiting memory for varnish process限制清漆过程的内存
【发布时间】:2019-11-19 17:03:32
【问题描述】:

在 Varnishv4.1 上,当我使用 ram 作为缓存的后端时,当 Reqest 出现时 一段时间后,服务器的内存开始逐渐变满,完全填满后,服务器崩溃 然后它又开始在内存中缓存

我在 systemd 服务文件中为 varnish.service 分配了以下变量 但它仍然执行其先前的行为并再次崩溃:

LimitMEMLOCK=14336
MemoryLimit=13G
MemoryHigh=13G
MemoryMax=13G

我如何限制和指定它不能超过的特殊内存量?

#Version used:
Varnishv4.1
#Operating System and version:
Ubuntu16.04
#Source of binary packages used (if any)
Installed from official ubuntu packages

【问题讨论】:

    标签: caching limit varnish


    【解决方案1】:

    您必须同时限制 malloc 和 Transient。 IE。作为启动参数-s malloc,3GB s Transient,1GB

    一般来说,分配给 Varnish 的 RAM 不应超过系统上可用总 RAM 的 80%

    【讨论】:

    • 我如何限制和指定它不能超过的特殊内存量? 这对我来说很重要,当 ram 的数量被填满时,清漆开始从 ram 末端移除旧对象并将新对象插入 ram 并且服务器不会崩溃。 b>我应该总结这两个因素,结果是清漆将使用的内存量? malloc,3GB + Transient,1GB=4GB varnish 将使用的 ram(varnish ram 进程的限制是 4G)?我说的对吗?
    • 我将这一行 -s malloc,3GB s Transient,1GB 插入到我的清漆配置文件中,但它显示错误:`错误:参数过多(瞬态,1G ...)`或this argument doesnt exist。如何指定瞬态的数量?
    • 你忘记了第二个 s 之前的“-”
    • 我在 s 之前添加了“-”,但这一次它表明它显示了这条消息并且没有开始:Unknown storage method "Transient"
    猜你喜欢
    • 2012-09-11
    • 2012-12-22
    • 2012-10-06
    • 2013-05-17
    • 2012-04-03
    • 2017-04-13
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多