Skip to content

Requirements

Before you start

There are some things to take into account before installing GeoCat Map:

  • These setup instructions require administrator access. Make sure you have appropriate permissions to the system being setup before starting the installation or upgrade procedure.

Installation Overview

Installation of GeoCat Map requires:

  1. Installing a Java 17 Runtime Environment
  2. Installing the Apache Tomcat 11 application server
  3. Setting up a GeoServer data directory for configuration settings
  4. Deploying the GeoServer web application

As some of these operations are different depending on the operating system, installation instructions are provided for each environment. Follow the instructions corresponding to your operating system.

Hardware Requirements

GeoServer does not load your data into the application, or into memory. GeoServer operates as "middleware", reading your data out of back end storage such as a database or disk, and publishing it to clients using a range of output formats.

GeoServer, especially when serving feature data using streaming protocols such as GML, does not require a lot of memory. Some formats (such as GeoPackage or Excel) do require memory to stage an entire reply into a file before it is returned to the client.

Tip

The number one recommendation for system stability is to install and configure the control-flow extension:

  • Limit total concurrent access to protocols such as WMS that make use of memory to draw an image before it is encoded into an output format.
  • Limit concurrent access per user, so a client hitting "refresh" while waiting for a large or slow response cannot pile up additional requests.
  • Limit concurrent access to output formats (such as Excel) that stage their entire response in memory.

WMS also has its own settings for memory consumption limits (based on the size of images being drawn) and time consumption limits, with the option to return a partial image on timeout.

Memory sizing

The default Tomcat memory settings are much too small for a GeoServer workload. If no setting is provided, Tomcat's command line relies on the JVM default of ¼ of system RAM, and the Windows installer defaults to a 128 MB/256 MB pool.

Use the following starting points, sized to the number of concurrent users and the weight of the geospatial workloads being served:

Profile Initial pool Maximum pool Guidance
Normal 1 GB 2 GB Standard number of users, typical geospatial workloads
Large 2 GB 4 GB Large number of users, geospatial workloads
Massive 6 GB 12 GB Beyond 6 GB it is worth reconsidering the garbage collector, see below

The initial memory allocation is set high relative to the maximum (50%, sometimes 100%) so that the JVM does not spend early requests growing the heap.

JVM options

Two JVM options are recommended for every install, regardless of size, and are applied in the Windows and Linux install instructions:

-XX:SoftRefLRUPolicyMSPerMB=36000
-XX:-UsePerfData
  • -XX:SoftRefLRUPolicyMSPerMB=36000 controls how long GeoServer keeps "soft referenced" data structures, such as Spatial Reference System definitions and feature types, cached between requests:

    • Default (1000): with 2000 MB free memory, definitions are kept for around 33 minutes (2000 × 1000 ms).
    • Recommended (36000): with 2000 MB free memory, definitions are kept for around 20 hours (2000 × 36000 ms).

    Spatial Reference System definitions and feature types can always be regenerated, but doing so repeatedly slows the application down.

  • -XX:-UsePerfData asks Java not to write performance and runtime statistics to a local hsperfdata file in the temp folder. These files have a history of poor interaction with Tomcat, particularly on Windows where the OS periodically clears local service temp folders.

Garbage collection tuning

The Java 17 default G1GC garbage collector is a good fit for GeoServer's continual workload of ad-hoc WMS requests, and is recommended for Normal and Large profiles using just the two JVM options above.

For an example machine with 16 GB RAM and 4 cores (8 virtual cores), leaving 2 GB for the operating system, a Large profile (2 GB initial / 4 GB maximum) leaves plenty of capacity, with room to run PostgreSQL on the same hardware.

Below 6 GB, GeoServer can also benefit from ParallelGC if the workload includes processing scripts and WFS requests. ParallelGC only runs while GeoServer is idle, taking the opportunity between requests to free up memory rather than competing with GeoServer for CPU while it is working:

-XX:SoftRefLRUPolicyMSPerMB=36000
-XX:-UsePerfData
-XX:+UseParallelGC

For a Massive profile (6 GB initial / 12 GB maximum, the practical limit for a single instance) switch to G1GC explicitly so more than one thread can be used to clean up after requests. The settings below ask G1GC to recognize duplicate strings (useful for GML responses), start garbage collection at 45% capacity, keep 15% memory free, and avoid pausing for longer than 200 ms:

-XX:SoftRefLRUPolicyMSPerMB=36000
-XX:-UsePerfData
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XX:InitiatingHeapOccupancyPercent=45
-XX:G1ReservePercent=15
-XX:MaxGCPauseMillis=200

Note

A smaller machine may not have enough cores to benefit from all of these options — UseStringDeduplication in particular requires constant CPU use, so only enable the full set above once the hardware can support it.

GeoCat Map Customers

GeoCat Map customers are provided login credentials to the nexus.geocat.net download repository.

  1. Login to nexus.geocat.net and browse to the enterprise folder:

  2. Navigate to the latest 2026.0/geoserver release folder, which now provides:

    • geocat-map-standard.zip - the GeoCat Map distribution, bundled with recommended extensions.
    • geoserver-data-standard.zip - services setup, includes sample layers.
    • geoserver-data-default.zip - services setup only.
    • 2026.0/plugins/ - individual GeoServer extension and community module zip bundles, matching the naming used by the open source GeoServer community distribution.

    GeoCat Map Standard download

    Note

    The 2026.0 enterprise folder has not been published yet. Screenshots for this section will be updated once it is available.

Extension plugins vs. a predefined geoserver.war

The plugins folder makes it possible to unzip geoserver.war and copy a plugin's zip contents into WEB-INF/lib, the same way you would with the open source GeoServer community distribution. This is useful in two situations:

  • New customers migrating an existing community GeoServer install can point their Dockerfile or install scripts at the equivalent enterprise download above, providing an easy transitioning to GeoCat Map long-term support.
  • Existing customers who want to try out an extension's functionality before requesting it be included in their geoserver.war build.

For production use we recommend requesting a predefined geoserver.war instead: GeoCatcustomers can have a custom war pre-built with their selection of supported extensions, tested before use, rather than assembling WEB-INF/lib by hand.

GeoCat Training Customers

GeoCat Training customers are provided a link to course materials on drive.geocat.net.

  1. Using the link and credentials provided by your instructor to login.

    drive.geocat.net login

  2. Download geocat-map-training.zip and geoserver-data-standard.zip files.

    drive.geocat.net downloads