tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Violeta Georgieva <miles...@gmail.com>
Subject Re: High memory consumption caused by BLOCKED Threads
Date Thu, 22 Dec 2011 13:04:54 GMT
But I do not make locks on the SimpleDateFormat objects?

Tomcat does it while finishing the response.

Here is one of the threads that waits to lock:

"http-8080-84" daemon prio=10 tid=0x00007ff9a4340800 nid=0xf5d waiting for
monitor entry [0x00007ff9990cf000]
   java.lang.Thread.State: BLOCKED (on object monitor)
 at
org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate(FastHttpDateFormat.java:114)
 - waiting to lock <0x00000006fbd04ee8> (a java.text.SimpleDateFormat)
 at
org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1606)
 at
org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956)
 at org.apache.coyote.Response.action(Response.java:183)
 at org.apache.coyote.Response.sendHeaders(Response.java:379)
 at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
 at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273)
 at org.apache.catalina.connector.Response.finishResponse(Response.java:493)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:322)
 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 at java.lang.Thread.run(Thread.java:662)

2011/12/22 David kerber <dckerber@verizon.net>

> On 12/22/2011 4:05 AM, Violeta Georgieva wrote:
>
>> Hi,
>>
>> I am using Tomcat 6.0.29 and SUN JVM.
>> I experience high memory consumption caused by BLOCKED Threads.
>>
>> I would appreciate any help or suggestion how to solve the problem.
>>
>
> Fix your app so that it releases the locks (probably synchronized
> sections) on the SimpleDateFormat objects.
>
>
>
>
>> I can see the following in the thread dump:
>>
>>
>> "http-8080-73" daemon prio=10 tid=0x00007ff9a4586000 nid=0x7d3 waiting for
>> monitor entry [0x00007ff9996d4000]
>>
>>    java.lang.Thread.State: BLOCKED (on object monitor)
>>
>>                at
>> sun.util.resources.**TimeZoneNames.getContents(**TimeZoneNames.java:185)
>>
>>                at
>> sun.util.resources.**OpenListResourceBundle.**loadLookup(**
>> OpenListResourceBundle.java:**109)
>>
>>                - locked<0x00000006f95a49b8>  (a
>> sun.util.resources.**TimeZoneNames)
>>
>>                at
>> sun.util.resources.**OpenListResourceBundle.**
>> loadLookupTablesIfNecessary(**OpenListResourceBundle.java:**97)
>>
>>                at
>> sun.util.resources.**OpenListResourceBundle.**handleGetObject(**
>> OpenListResourceBundle.java:**58)
>>
>>                at
>> sun.util.resources.**TimeZoneNamesBundle.**handleGetObject(**
>> TimeZoneNamesBundle.java:59)
>>
>>                at
>> java.util.ResourceBundle.**getObject(ResourceBundle.java:**368)
>>
>>                at
>> java.util.ResourceBundle.**getObject(ResourceBundle.java:**371)
>>
>>                at
>> java.util.ResourceBundle.**getStringArray(ResourceBundle.**java:351)
>>
>>                at
>> sun.util.TimeZoneNameUtility.**retrieveDisplayNames(**
>> TimeZoneNameUtility.java:100)
>>
>>                at
>> sun.util.TimeZoneNameUtility.**retrieveDisplayNames(**
>> TimeZoneNameUtility.java:81)
>>
>>                at java.util.TimeZone.**getDisplayNames(TimeZone.java:**
>> 399)
>>
>>                at java.util.TimeZone.**getDisplayName(TimeZone.java:**
>> 350)
>>
>>                at
>> java.text.SimpleDateFormat.**subFormat(SimpleDateFormat.**java:1110)
>>
>>                at
>> java.text.SimpleDateFormat.**format(SimpleDateFormat.java:**899)
>>
>>                at
>> java.text.SimpleDateFormat.**format(SimpleDateFormat.java:**869)
>>
>>                at java.text.DateFormat.format(**DateFormat.java:316)
>>
>>                at
>> org.apache.tomcat.util.http.**FastHttpDateFormat.**getCurrentDate(**
>> FastHttpDateFormat.java:115)
>>
>>                - locked<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>>                at
>> org.apache.coyote.http11.**Http11Processor.**prepareResponse(**
>> Http11Processor.java:1606)
>>
>>                at
>> org.apache.coyote.http11.**Http11Processor.action(**
>> Http11Processor.java:956)
>>
>>                at org.apache.coyote.Response.**action(Response.java:183)
>>
>>                at org.apache.coyote.Response.**
>> sendHeaders(Response.java:379)
>>
>>                at
>> org.apache.catalina.connector.**OutputBuffer.doFlush(**
>> OutputBuffer.java:305)
>>
>>                at
>> org.apache.catalina.connector.**OutputBuffer.close(**
>> OutputBuffer.java:273)
>>
>>                at
>> org.apache.catalina.connector.**Response.finishResponse(**
>> Response.java:493)
>>
>>                at
>> org.apache.catalina.connector.**CoyoteAdapter.service(**
>> CoyoteAdapter.java:322)
>>
>>                at
>> org.apache.coyote.http11.**Http11Processor.process(**
>> Http11Processor.java:859)
>>
>>                at
>> org.apache.coyote.http11.**Http11Protocol$**Http11ConnectionHandler.**
>> process(Http11Protocol.java:**588)
>>
>>                at
>> org.apache.tomcat.util.net.**JIoEndpoint$Worker.run(**
>> JIoEndpoint.java:489)
>>
>>                at java.lang.Thread.run(Thread.**java:662)
>>
>>
>>
>> Line 2485 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2536 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2625 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2660 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2703 :          - locked<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2741 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2758 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2775 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2792 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2848 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2865 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2891 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2908 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2925 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2942 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2959 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2976 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 2993 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3010 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3027 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3044 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3061 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3094 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3111 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3128 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3145 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3180 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3197 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3214 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3231 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3248 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3265 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3282 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3299 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3316 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3333 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3350 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3367 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3384 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3401 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3418 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3435 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3452 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3487 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3513 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3530 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3547 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3564 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3608 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3756 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3860 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3877 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 3894 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>> Line 4324 :          - waiting to lock<0x00000006fbd04ee8>  (a
>> java.text.SimpleDateFormat)
>>
>>
>>
>> Thanks in advance
>>
>> Violeta
>>
>>
>
>  ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.org<users-unsubscribe@tomcat.apache.org>
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message