On Wed, Jan 29, 2014 at 3:54 PM, Jonathan Moules <
[email protected]> wrote:

> Hi List,
> I've been getting a lot of OutOfMemoryError errors in my logs over the
> past few days, to the extent that all three instances of my live service
> died yesterday afternoon!
>
> GeoServer 2.4.3
> Windows Server 2008 R2  -64bit. - The machine has ~30GB RAM, but each
> tomcat instance never uses more than 1.5GB.
> Tomcat 6
>
> Environmental variables for each instance:
>
>> set JAVA_OPTS= -Xmx5G -Xms2G -XX:MaxPermSize=256m
>> set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
>> -XX:ParallelGCThreads=4
>
>
>
> Example of the error:
>
> 2014-01-29 12:12:34,082 ERROR [geotools.rendering] - Java heap space
>> java.lang.OutOfMemoryError: Java heap space
>> at java.awt.image.DataBufferByte.<init>(Unknown Source)
>> at java.awt.image.ComponentSampleModel.createDataBuffer(Unknown Source)
>>  at sun.awt.image.ByteInterleavedRaster.<init>(Unknown Source)
>> at
>> sun.awt.image.ByteInterleavedRaster.createCompatibleWritableRaster(Unknown
>> Source)
>>  at
>> sun.awt.image.BufferedImageGraphicsConfig.createCompatibleImage(Unknown
>> Source)
>> at java.awt.GraphicsConfiguration.createCompatibleImage(Unknown Source)
>>  at
>> org.geotools.renderer.lite.DelayedBackbufferGraphic.init(DelayedBackbufferGraphic.java:71)
>> at
>> org.geotools.renderer.lite.StreamingRenderer$PaintShapeRequest.execute(StreamingRenderer.java:3445)
>>  at
>> org.geotools.renderer.lite.StreamingRenderer$PainterThread.run(StreamingRenderer.java:3657)
>> at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>>  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>> at java.util.concurrent.FutureTask.run(Unknown Source)
>>  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>> Source)
>>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>> at java.lang.Thread.run(Unknown Source)
>> 2014-01-29 12:12:34,082 ERROR [geoserver.ows] -
>> org.geoserver.platform.ServiceException: Rendering process failed
>> at
>> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:507)
>>  at
>> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:251)
>> at
>> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:123)
>
>
>
> This hasn't happened before. The only change I've made to the systems
> recently was:
> - Increase all Oracle stores "Fetch size" from 1000 to 10,000
>

This parameter increases 10 times the memory used to keep the records
retrieved from the database
(but reduces by the same factor the number of round trips).

If your instances were already close to being OOM, this might as well have
been the drop that made the
bucket overflow.

See also
http://docs.geoserver.org/latest/en/user/production/troubleshooting.html#jmap
for tools to analyze OOM situations

Cheers
Andrea


-- 
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to