[ 
https://issues.apache.org/jira/browse/TRINIDAD-1985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981976#action_12981976
 ] 

Jeanne Waldman commented on TRINIDAD-1985:
------------------------------------------

The soft references and LRU caching would help clean up rarely used css files 
but if the users are actually using all of these pretty consistently, the soft 
references aren't going to help much and could actually make things worse by 
thrashing as the skin information gets purged and recreated constantly if the 
application is under memory pressure. 
Look into re-using the CSSStyle objects more efficiently as a workaround.

> High live memory usage from SkinStyleProvider
> ---------------------------------------------
>
>                 Key: TRINIDAD-1985
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1985
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Archetype
>    Affects Versions:  1.2.12-core
>            Reporter: Stevan Malesevic
>
> We were checking a live memory usage in one app and noticed that some 83MB of 
> heap is pinned under SkinStyleProvider. This is under 14 instances of 
> FileSystemStyleCache$Entry each with about 6MB of memory
> Heap shows these keys for styles
> Locale        Version
> en    Mozilla/5.0 (Windows NT 5.1; rv:2.0b7) Gecko/20100101 Firefox/4.0b7
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.11) 
> Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.11) 
> Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 
> (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 
> (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) 
> Gecko/20090824 Firefox/3.5.3
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) 
> Gecko/20090824 Firefox/3.5.3
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.18) 
> Gecko/2010020220 Firefox/3.0.18 (.NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.18) 
> Gecko/2010020220 Firefox/3.0.18 (.NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) 
> Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) 
> Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729)
> en    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET 
> CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) 
> Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.15) 
> Gecko/20101026 Firefox/3.5.15 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) 
> Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729)
> ko    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; 
> .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
> en    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; 
> .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) 
> Gecko/20101026 Firefox/3.6.12 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.16) 
> Gecko/20101130 Firefox/3.5.16 ( .NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.16) 
> Gecko/20101130 Firefox/3.5.16 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) 
> Gecko/20101203 Firefox/3.6.13
> Now beside the amount of memory pinned by single FileSystemStyleCache$Entry 
> the issue is that we apparently create too many different versions and there 
> is no restriction to the size of cache leaving open door for memory leak
> Two questions
> 1. Do we really have different styles for FF on 3.5 or 3.6 or so?  If not why 
> do we key by it?
> 2. Given different browsers and locales having cache as plain concurrent hash 
> map is actually a source of leak as over time it can accumulate more and 
> more. Do we have any restriction there? Should  the entries by LRU or have 
> exparation

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to