Hello Sabine, The reference values for the parameters applied for optimizing JVM in tomcat (based on some research) are below but obviously this is not a rule of thumb:
HEAP="-Xms2048m -Xmx2048m" NEW="-XX:NewSize=128m -XX:MaxNewSize=128m" RMIGC="-Dsun.rmi.dgc.client.gcInterval=600000 - Dsun.rmi.dgc.server.gcInterval=600000" PGC="-XX:+UseParallelGC" PERM="-XX:PermSize=128m -XX:MaxPermSize=128m" DEBUG="-verbose:gc -XX:+PrintTenuringDistribution" DUMP="-XX:+HeapDumpOnOutOfMemoryError" SERVER="-server" Try to investigate a bit more about each parameter and try to find the best solution for your needs. I would say the parallel garbage collector (Parallel GC) with 1 thread might be to low. Best, Alberto On 29 September 2016 at 09:17, Sabine Ohlendorf <[email protected]> wrote: > Dear List, > > I am using Geoserver 2.7.5 and I am using REST Api for creating datastores > and layers. > Now I have the problem that Geoserver throws a java.lang.OutOfMemoryError: > Exception in thread "ajp-bio-9018-exec-5" java.lang.OutOfMemoryError: Java > heap space > at java.util.Arrays.copyOf(Arrays.java:2367) > at java.lang.AbstractStringBuilder.expandCapacity( > AbstractStringBuilder.java:130) > at java.lang.AbstractStringBuilder.ensureCapacityInternal( > AbstractStringBuilder.java:114) > at java.lang.AbstractStringBuilder.append( > AbstractStringBuilder.java:415) > at java.lang.StringBuffer.append(StringBuffer.java:237) > at org.apache.log4j.helpers.PatternParser$LiteralPatternConverter. > format(PatternParser.java:420) > at org.apache.log4j.PatternLayout.format(PatternLayout.java:503) > at org.apache.log4j.WriterAppender.subAppend( > WriterAppender.java:301) > at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) > at org.apache.log4j.AppenderSkeleton.doAppend( > AppenderSkeleton.java:230) > at org.apache.log4j.helpers.AppenderAttachableImpl. > appendLoopOnAppenders(AppenderAttachableImpl.java:65) > at org.apache.log4j.Category.callAppenders(Category.java:203) > at org.apache.log4j.Category.forcedLog(Category.java:388) > at org.apache.log4j.Category.info(Category.java:663) > at org.geotools.util.logging.Log4JLogger.info(Log4JLogger. > java:135) > at org.geoserver.filters.LoggingFilter.doFilter( > LoggingFilter.java:81) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.geoserver.filters.SessionDebugFilter.doFilter( > SessionDebugFilter.java:48) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.geoserver.filters.FlushSafeFilter.doFilter( > FlushSafeFilter.java:44) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter( > SetCharacterEncodingFilter.java:109) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:220) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:122) > > First I thought that the image that I wanted to upload was too big, approx > 260MB. But I could upload a much bigger image (700MB) without problems. > I read a lot within the list but could not find a solution. As described > in http://docs.geoserver.org/latest/en/user/production/ > troubleshooting.html I printed the heap status via jmap but to be honest > I cannot read anything out of it: > > Attaching to process ID 2023, please wait... > Debugger attached successfully. > Server compiler detected. > JVM version is 24.75-b04 > > using thread-local object allocation. > Parallel GC with 1 thread(s) > > Heap Configuration: > MinHeapFreeRatio = 0 > MaxHeapFreeRatio = 100 > MaxHeapSize = 3288334336 (3136.0MB) > NewSize = 1310720 (1.25MB) > MaxNewSize = 17592186044415 MB > OldSize = 5439488 (5.1875MB) > NewRatio = 2 > SurvivorRatio = 8 > PermSize = 21757952 (20.75MB) > MaxPermSize = 268435456 (256.0MB) > G1HeapRegionSize = 0 (0.0MB) > > Heap Usage: > PS Young Generation > Eden Space: > capacity = 522190848 (498.0MB) > used = 35361864 (33.72370147705078MB) > free = 486828984 (464.2762985229492MB) > 6.77182760583349% used > >From Space: > capacity = 287309824 (274.0MB) > used = 0 (0.0MB) > free = 287309824 (274.0MB) > 0.0% used > To Space: > capacity = 286785536 (273.5MB) > used = 0 (0.0MB) > free = 286785536 (273.5MB) > 0.0% used > PS Old Generation > capacity = 2192572416 (2091.0MB) > used = 1492816408 (1423.6606674194336MB) > free = 699756008 (667.3393325805664MB) > 68.08515865229238% used > PS Perm Generation > capacity = 106954752 (102.0MB) > used = 88507512 (84.40734100341797MB) > free = 18447240 (17.59265899658203MB) > 82.75229510139016% used > > 36895 interned Strings occupying 3920704 bytes. > > Can anybody help? > Thanks! > Regards, Sabine > > ------------------------------------------------------------ > ------------------ > _______________________________________________ > Geoserver-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geoserver-users >
------------------------------------------------------------------------------
_______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
