Hello
I’m setting up the Geoserver on my raspberry pi 3. The Geoserver is on top of the tomact. Geoserver is very slow. The processor is at 100% and only consumes 1 core of the cpu. What can I do to increase performance?
Hi,
I am not sure which of these tested CPUs would be close to 4× ARM Cortex-A53, 1.2GHz that is used in Raspberry Pi 3 http://www.computingcompendium.com/p/arm-vs-intel-benchmarks.html. Apple A7 64-bit is probably faster than A53 but it is still 8 times slower than Intel i7. However, the biggest problem is for sure the 1 GB memory. It is absolutely not enough for Tomcat and Geoserver. Be happy that it runs at all. For increasing performance I suggest to buy some old laptop with at least 4 GB of memory.
-Jukka Rahkonen-
···
samuel0546@anonymised.com wrote:
[Geoserver-devel] help - Geoserver - raspberry pi - CPU
Hello
I’m setting up the Geoserver on my raspberry pi 3. The Geoserver is on top of the tomact. Geoserver is very slow. The processor is at 100% and only consumes 1 core of the cpu. What can I do to increase performance?
I am impressed that you got so far. I assume this is Raspbian? Nice!
As Jukka has noted, memory is likely to be your toughest constraint. As your JVM approaches the limit of the default max heap size, the JVM will start to spend more and more time collecting garbage on one GC thread, until it gives up and aborts. I suspect that you have a JVM memory tuning issue.
It should be possible to run GeoServer on a machine with 1 GB RAM. I have seen virtual machines that could do this when serving only a few layers, even with tomcat. Adding many layers, plugins, and stores will require more memory. If GeoServer can get enough memory, it should work. However, the JVM must not use more than your available RAM (or get too close).
Even a small increase in Java heap may get you out of the GC tar pit and give you a usable GeoServer. You can set JAVA_OPTS=-Xmx384m in your tomcat catalina.sh or in a new file setenv.sh alongside it. You can probably push your heap up to about JAVA_OPTS=-Xmx600m before the kernel kills the JVM to preserve the system.
You could also try using the Jetty servlet container to see if this helps; I have not tested but it is supposed to be more lightweight than tomcat. If you cannot get GeoServer to start with tomcat, stop tomcat, download the platform-independent -bin.zip, and run it with this (or some other value of the max heap) at the command line:
JAVA_OPTS=-Xmx384m bin/startup.sh
This experiment will at least let you see what is possible with the lightweight embedded Jetty included in the -bin.zip.
You can also save memory by deleting unwanted demo stores and restarting your servlet container.
Good luck, and please report back!
Kind regards,
Ben.
On 02/02/17 10:09, Rahkonen Jukka (MML) wrote:
Hi,
I am not sure which of these tested CPUs would be close to 4× ARM Cortex-A53, 1.2GHz that is used in Raspberry Pi 3 http://www.computingcompendium.com/p/arm-vs-intel-benchmarks.html. Apple A7 64-bit is probably faster than A53 but it is still 8 times slower than Intel i7. However, the biggest problem is for sure the 1 GB memory. It is absolutely not enough for Tomcat and Geoserver. Be happy that it runs at all. For increasing performance I suggest to buy some old laptop with at least 4 GB of memory.
-Jukka Rahkonen-
________________________________
samuel0546@anonymised.com wrote:
[Geoserver-devel] help - Geoserver - raspberry pi - CPUHello
I'm setting up the Geoserver on my raspberry pi 3. The Geoserver is on top of the tomact. Geoserver is very slow. The processor is at 100% and only consumes 1 core of the cpu. What can I do to increase performance?------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand