Yeah, I don't understand it either. I saw the caching of fonts. The data 
seems to point to something that the Plot render method uses in the 
library. I did see that the default font is actually embedded in the 
imaging library code (not loaded from a file). I also used a true type font 
when I specified the font. I was having trouble recreating using a modified 
wee_reports, but that was before I narrowed in on the default font. It's 
got my curiousity, so I am going to try to recreate again. That would allow 
me to throw different things at it faster. 

>From pip3 list, I am using Pillow 4.0.
- rich


On Monday, 2 December 2019 07:54:09 UTC-5, Thomas Keffer wrote:
>
> Good information, although I don't understand it.
>
> The 'weeplot' image generator actually caches fonts, exactly for this 
> reason. Many years ago, we experienced memory leaks, due to PIL not 
> properly recycling font handles. So, in revision 8615d0f3, added over 7 
> years ago, we introduced the cache. So, either, for some reason, it isn't 
> working for default fonts, or the memory leak lies within some special 
> implementation that the default uses.
>
> Are you using PIL or Pillow?
>
> -tk
>
> On Sun, Dec 1, 2019 at 1:43 PM Rich Bell <[email protected] <javascript:>> 
> wrote:
>
>> This is not new information, but I thought it might help others seeing a 
>> steady increase in memory consumption.
>> TL;DR
>> I am seeing a memory leak when the imaging library default font is used.  
>> Ensuring that a font is specified for each label (top_label_font_path, 
>> unit_label_font_path, bottom_label_font_path, axis_label_font_path, 
>> rose_label_font_path) seems to have fixed it.
>>
>> Backgound:
>> Running with:
>> OS: Linux-4.19.49v6v7-aufs-armv7l-with-debian-9.6
>> Python: 3.5.3 (default, Sep 27 2018, 17:25:39) 
>> [GCC 6.3.0 20170516]
>> PIL/Pillow: 4.0.0
>>
>> I was seeing the following:
>> [image: week]
>>
>> The following is a graph of memory size over the same time period.  It 
>> graphs the same weewx instance as above - no fonts specified for the images 
>> (base), an instance with the skin disabled (disabled), and one with the 
>> fonts specified (fontsall).
>> [image: week3]
>>
>> Here is a plot of the RSS over the same time.
>> [image: week3]
>>
>> Here are a few more data points that may or may not be of interest.  
>> "noimage" does not call plot.render() while render does, but does not save 
>> the image (image.save).  
>> Here is the memory size plot.
>> [image: week4]
>>
>> And the RSS.
>> [image: week4]
>>
>> - rich
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-user/fe7997e1-15d9-4f83-b338-44075df42ef1%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/fe7997e1-15d9-4f83-b338-44075df42ef1%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/ee515c7c-d728-4466-bd32-88409ffe85fa%40googlegroups.com.

Reply via email to