This is an automated email from the ASF dual-hosted git repository.

jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 109792fe6b [#8587] docs: Document GRAVITINO_MEM usage across servers 
(#9379)
109792fe6b is described below

commit 109792fe6b56593a966946605472fb6118ef1e95
Author: FANNG <[email protected]>
AuthorDate: Fri Dec 5 16:41:20 2025 +0900

    [#8587] docs: Document GRAVITINO_MEM usage across servers (#9379)
    
    ### What changes were proposed in this pull request?
    
    Document GRAVITINO_MEM usage across servers
    
    ### Why are the changes needed?
    
    Fix: #8587
    
    ### Does this PR introduce _any_ user-facing change?
    no
    
    ### How was this patch tested?
    just document
    
    ---------
    
    Co-authored-by: Copilot <[email protected]>
---
 conf/gravitino-env.sh.template  |  4 +++-
 docs/docker-image-details.md    | 12 ++++++++++++
 docs/gravitino-server-config.md | 11 +++++++++++
 docs/iceberg-rest-service.md    |  9 ++++++++-
 4 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/conf/gravitino-env.sh.template b/conf/gravitino-env.sh.template
index 1d39e2e8ff..16f4ae84ae 100644
--- a/conf/gravitino-env.sh.template
+++ b/conf/gravitino-env.sh.template
@@ -28,4 +28,6 @@ GRAVITINO_VERSION=GRAVITINO_VERSION_PLACEHOLDER
 # export GRAVITINO_HOME
 # export GRAVITINO_CONF_DIR
 # export GRAVITINO_LOG_DIR     # Where log files are stored.  PWD by default.
-# export GRAVITINO_MEM         # Gravitino jvm mem options Default -Xms1024m 
-Xmx1024m -XX:MaxMetaspaceSize=512m
\ No newline at end of file
+# export GRAVITINO_MEM         # JVM memory options for the Gravitino server, 
Iceberg REST server, and Lance REST server.
+#                             # Default: -Xms1024m -Xmx1024m 
-XX:MaxMetaspaceSize=512m
+#                             # Appended to JAVA_OPTS by launch scripts; set 
GRAVITINO_MEM to change heap/metaspace sizes.
diff --git a/docs/docker-image-details.md b/docs/docker-image-details.md
index a870886cb2..9f67aff561 100644
--- a/docs/docker-image-details.md
+++ b/docs/docker-image-details.md
@@ -17,6 +17,10 @@ Container startup commands
 docker run --rm -d -p 8090:8090 -p 9001:9001 apache/gravitino:0.7.0-incubating
 ```
 
+Memory settings
+
+JVM heap and metaspace are controlled by `GRAVITINO_MEM` (default `-Xms1024m 
-Xmx1024m -XX:MaxMetaspaceSize=512m`). Override with `-e GRAVITINO_MEM="-Xms4g 
-Xmx4g -XX:MaxMetaspaceSize=1g"` to tune sizes. Launch scripts append 
`GRAVITINO_MEM` to `JAVA_OPTS`, so set it whenever you need different 
heap/metaspace sizes.
+
 Changelog
 
 
@@ -71,6 +75,10 @@ Container startup commands
 docker run --rm -d -p 9001:9001 apache/gravitino-iceberg-rest:0.7.0-incubating
 ```
 
+Memory settings
+
+Use `GRAVITINO_MEM` to size the JVM (default `-Xms1024m -Xmx1024m 
-XX:MaxMetaspaceSize=512m`). Override with `-e GRAVITINO_MEM="-Xms4g -Xmx4g 
-XX:MaxMetaspaceSize=1g"` when you need different sizes. Launch scripts append 
`GRAVITINO_MEM` to `JAVA_OPTS`, so set it to change heap/metaspace settings.
+
 Changelog
 - apache/gravitino-iceberg-rest:1.0.0
   - Upgrade Iceberg version to 1.9
@@ -129,6 +137,10 @@ You can deploy the standalone Gravitino Lance REST server 
with the Docker image.
 docker run --rm -d -p 9102:9102 -e LANCE_REST_GRAVITINO_METALAKE_NAME=test -e 
LANCE_REST_PORT=9102 apache/gravitino-lance-rest:latest 
 ```
 
+Memory settings
+
+Use `GRAVITINO_MEM` to size the JVM (default `-Xms1024m -Xmx1024m 
-XX:MaxMetaspaceSize=512m`). Example: `-e GRAVITINO_MEM="-Xms2g -Xmx2g 
-XX:MaxMetaspaceSize=512m"`. Launch scripts append `GRAVITINO_MEM` to 
`JAVA_OPTS`, so set it whenever you need different heap/metaspace sizes.
+
 Currently, Gravitino Lance REST server supports setting the following 
environment variables
 - LANCE_REST_GRAVITINO_METALAKE_NAME: It will overwrite the configuration 
"gravitino.lance-rest.gravitino.metalake-name" in configuration file 
`conf/gravitino-lance-rest-server.conf`. **You should set it to your Gravitino 
metalake name.**
 - LANCE_REST_NAMESPACE_BACKEND: It will overwrite the configuration 
"gravitino.lance-rest.namespace-backend" in configuration file 
`conf/gravitino-lance-rest-server.conf`. The default value is "gravitino" and 
you should not change it as of now.
diff --git a/docs/gravitino-server-config.md b/docs/gravitino-server-config.md
index cf498b8b20..52b430db2c 100644
--- a/docs/gravitino-server-config.md
+++ b/docs/gravitino-server-config.md
@@ -266,6 +266,17 @@ Refer to [security](security/security.md) for HTTPS and 
authentication configura
 
|-------------------------------------------|------------------------------------------------------|---------------|----------|---------------|
 | `gravitino.metrics.timeSlidingWindowSecs` | The seconds of Gravitino metrics 
time sliding window | 60            | No       | 0.5.1         |
 
+### Memory settings
+
+`GRAVITINO_MEM` sets JVM heap/metaspace flags for the Gravitino server and is 
also read by the Iceberg REST server and Lance REST server launchers.
+
+Default: `-Xms1024m -Xmx1024m -XX:MaxMetaspaceSize=512m` (see 
`bin/common.sh`). Launch scripts append this to `JAVA_OPTS`; override 
`GRAVITINO_MEM` when you need different heap/metaspace sizes.
+
+Typical values:
+- Development: `-Xms1g -Xmx1g -XX:MaxMetaspaceSize=512m`
+- Moderate production: `-Xms4g -Xmx4g -XX:MaxMetaspaceSize=1g`
+- Larger deployments: `-Xms8g -Xmx8g -XX:MaxMetaspaceSize=1g` or higher 
depending on catalog count, plugins, and query concurrency
+
 ## Apache Gravitino catalog properties configuration
 
 There are three types of catalog properties:
diff --git a/docs/iceberg-rest-service.md b/docs/iceberg-rest-service.md
index 7acb4ada26..4ee4976658 100644
--- a/docs/iceberg-rest-service.md
+++ b/docs/iceberg-rest-service.md
@@ -447,6 +447,14 @@ Gravitino provides the build-in 
`org.apache.gravitino.iceberg.common.cache.Local
 
|---------------------------------------------|--------------------------------------------------------------|---------------|----------|------------------|
 | `gravitino.iceberg-rest.extension-packages` | Comma-separated list of 
Iceberg REST API packages to expand. | (none)        | No       | 
0.7.0-incubating |
 
+### Memory settings
+
+The Iceberg REST server uses `GRAVITINO_MEM` for JVM heap/metaspace flags. 
Default: `-Xms1024m -Xmx1024m -XX:MaxMetaspaceSize=512m`. Launch scripts append 
`GRAVITINO_MEM` to `JAVA_OPTS`; set it to adjust heap/metaspace sizes.
+Example tuning:
+- Development: `GRAVITINO_MEM="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=512m"`
+- Medium workloads: `GRAVITINO_MEM="-Xms4g -Xmx4g -XX:MaxMetaspaceSize=1g"`
+- Higher concurrency or catalog counts: increase heap and metaspace 
accordingly.
+
 ## Starting the Iceberg REST server
 
 To start as an auxiliary service with Gravitino server:
@@ -668,4 +676,3 @@ sh ./dev/docker/build-docker.sh --platform linux/arm64 
--type iceberg-rest-serve
 ```
 
 You could try Spark with Gravitino REST catalog service in our 
[playground](./how-to-use-the-playground.md#using-apache-iceberg-rest-service).
-

Reply via email to