[mapserver-dev] Memory leak in mapcache
Patrick Valsecchi
patrick.valsecchi at camptocamp.com
Mon Apr 15 01:36:45 PDT 2019
Hi Thomas, Long time no see!
Every kind of request leaks. Even a WMS GetCapabilities (done by the
health-check) leaks, but at a lesser rate than a GetMap. The web UI does
requests in //, but the ingress limits at 10 connection in //.
And it's not just that it allocates a big chunk of memory and stays there.
It leaks continuously until the OOM wakes up and kills one of apache's
worker. I had to set a limit of 100 requests (every 100 requests the worker
process is killed and a new one is forked) per worker to keep memory usage
at bay.
Thanks
On Fri, Apr 12, 2019 at 7:12 PM thomas bonfort <thomas.bonfort at gmail.com>
wrote:
> Hi Patrick,
> What kind of requests is mapcache responding to, and at what concurrency?
> Serving multiple large wms requests is typically an example where large
> chunks of memory will be allocated.
>
> --
> thomas
>
> On Fri, Apr 12, 2019 at 12:42 AM Patrick Valsecchi <
> patrick.valsecchi at camptocamp.com> wrote:
>
>> Hi,
>>
>> I'm using mapcache v1.6.1 (tested as well with a master build) in docker
>> and I can see huge memory increases in the apache process memory usage when
>> mapcache is used (it's the only thing this apache instance is serving). The
>> thing is configured like that:
>>
>> <mapcache>
>> <cache name="default" type="memcache">
>> <server>
>> <host>prod-2-4-c2cgeoportal-memcached</host>
>> <port>11211</port>
>> </server>
>> </cache>
>>
>> ...
>>
>> <tileset name="map">
>> <source>map</source>
>> <cache>default</cache>
>> <grid>swissgrid_005</grid>
>> <metatile>5 5</metatile>
>> <metabuffer>128</metabuffer>
>> <format>image/png</format>
>> <expires>3600</expires> <!-- 1 hour -->
>> <auto_expire>13800</auto_expire> <!-- 4 hours -->
>> </tileset>
>>
>>
>> I can see that memcached is used in it's stats and only mapcache uses it.
>>
>> But the the memory usage of the whole mapcache container looks like that:
>> [image: image.png]
>>
>> Each dip in usage is when the OOM kills one of the apache workers (out of
>> a maximum of 3 workers). I have configured a memory limit in docker at
>> 512MB.
>> Nothing shows up in the apache logs.
>>
>> Are there any known memory leaks? Do I have a bad configuration? I could
>> have the apache workers restarted every 10 queries, but that would be
>> utterly ugly and inefficient...
>>
>> Thanks for your help.
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20190415/1a849ee9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 21279 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20190415/1a849ee9/attachment-0001.png>
More information about the mapserver-dev
mailing list