I have a GeoServer installation which has started using much more memory after upgrading from version 2.27.0 to 2.27.1. Are others seeing something similar?
Some graphs from monitoring are attached below. When viewing the graphs: Version 2.27.1 was put in use on 2025-06-18. On June 30th, we increased the value of -Xmx from 11844M to 14g because our heap usage% had increased so much.
Hi,
haven’t noticed it, no, but the jump is small, so we might have a chance at pinpointing something in the GeoServer and GeoTools changelogs.
Can you describe what kind of data you publish, what workload GeoServer is subjected to?
Did you change anything else along with the 2.27.1 upgrade? E.g. Java version, Tomcat version, new data layers?
The Tomcat in use has two different GeoServer webapps (both running GeoServer 2.27.1). The workload os almost exclusively WFS, but also a little bit of WMS. Java and Tomcat versions were unchanged when GeoServer was upgraded from 2.27.0 to 2.27.1.
As far as I know, the workload characteristics didn’t change at the time of the GeoServer upgrade. There has most likely been new layers added, but those new layers should not differ significantly from existing layers.
The only thing that seems remotely related is the XML external processing handling done to fix a CVE, but it’s related to XML parsing, not production.
When the memory usage is high, go to “server status”, JVM console, and use the “heap dump” button, you’ll get a text that’s an histogram of the objects using the heap, something like this:
The first entry is likely the raster processing tile cache, ~430MB worth of it… not odd per se, if the server was processing raster data too.
The others are instead odd, it’s a large chunk of XML objects… they should not be summed, e.g. AttrNsImpl and TextNsImpl both contain String.
I’ve made a quick load test against a server, doing WFS 1.1 request as POST, 8000 requests, 32 threads, and I’m not getting anywhere close your situation, in fact, I barely see XML related objects in the heap dump.
It seems something specific to your setup. What kind of WFS requests do you get, are you collecting samples? If not, you can by having GeoServer log the request and log also the request bodies. Are you using app-schema?
What are your data sources? Any chance they are other WFS servers (WFS cascading scenario)?
And have you tried to reproduce this using the default data directory (yes, I know it uses SHP files, etc, not PostGIS), but if you’re able to provide the developers with an easily reproducible scenario, it will get a lot more attention.