high memory usage with malloc and file backends configured

Guillaume Quintard guillaume at varnish-software.com
Mon Jul 10 13:55:20 CEST 2017


Hi Charles,

So, if I'm reading this right, there's no discrepancy. Varnish will malloc
the full storage (malloc), and will mmap a file the size of the full
storage (file). So even though the storage is not used, it's allocated.

Does it make sense, or did I miss something?

-- 
Guillaume Quintard

On Mon, Jul 10, 2017 at 1:23 PM, Bender, Charles <charles at beachcamera.com>
wrote:

> Hi,
>
>
>
> There is a large discrepancy between Varnish resident memory reported by
> top vs reported by varnishstat. Varnish is configured with both malloc and
> file storage; 20G malloc and 75G file storage.
>
>
>
> These are the startup parameters-
>
>
>
> VARNISH_STORAGE="memcache=malloc,20G -s filecache=file,/mnt/xvdf1/
> varnish/varnish_storage.bin,75G"
>
>
>
> After running for a few days top is reporting more than twice amount of
> memory used for varnishd process than varnishstat.
>
>
>
> From top-
>
>
>
>   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+
> COMMAND
>
>
>  1083 varnish   20   0 82.235g 0.014t 7.765g S  75.7 51.4   2159:07
> varnishd
>
>
>
>
> From varnishstat-
>
>
>
> SMA.memcache.g_bytes
> 5.20G        39.65K          .            5.20G         5.20G   5.20G
>
> SMA.memcache.g_space
> 14.80G       -39.65K          .           14.80G        14.80G
> 14.80G
>
> SMF.filecache.g_bytes
>       7.78G        27.97K          .         7.78G         7.78G
> 7.78G
>
> SMF.filecache.g_space
> 67.22G       -27.97K          .      67.22G        67.22G        67.22G
>
>
>
> This is the relevant part of the VCL regarding storage backend selection-
>
>
>
> sub vcl_backend_response {
>
>                 # define separate cache storage groups
>
>                 if (bereq.http.host ~ "^(encore|thereal|static)\.(beachcamera|buydig)\.com")
> {
>
>                                 set beresp.storage_hint = "filecache";
>
>                                 set beresp.http.X-Cache-Storage = "disk";
>
>                 } elsif (bereq.url ~ "(?i)\.(jpg|jpeg|gif|ico|pdf|swf|png|zip)")
> {
>
>                                 set beresp.storage_hint = "filecache";
>
>                                 set beresp.http.X-Cache-Storage = "disk";
>
>                 } elsif (bereq.url ~ "(?i)product\-image\.aspx") {
>
>                                 set beresp.storage_hint = "filecache";
>
>                                 set beresp.http.X-Cache-Storage = "disk";
>
>                 } else {
>
>                                 set beresp.storage_hint = "memcache";
>
>                                 set beresp.http.X-Cache-Storage =
> "memory";
>
>                 }
>
>
>
> Can post entire VCL if needed.
>
>
>
> Would think that since varnishstat reports 5.20G RAM used the resident
> memory should be around 6-7G, 14G seems excessively high. File storage
> should use minimal resident memory, correct?
>
>
>
> Varnish was installed from Varnish Cache 4.1 repo. No VMODs loaded except
> std and directors. Using latest 4.1.7
>
>
>
> Anything else you need please let me know.
>
>
>
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20170710/fe235aba/attachment-0001.html>


More information about the varnish-misc mailing list