【geoserver】jvm可用最大堆内存调整

一、原因

geoserver切片的时候经常自行停止,让人很是头疼。
某次切片的时候终于逮到它报的错了。原来是内存(GC)不足。
于是就又研究了一下jvm内存调优。

二、分析

官网手册:GeoServer:Optimize your JVM
内存设置需要配置以下几个参数:

  • -Xms128m:JVM初始分配的堆内存,默认是物理内存的1/64;
  • -Xmx512M:JVM最大分配的堆内存,默认是物理内存的1/4。

如果Xmx配置得过小,可能会导致java.lang.OutOfMemory错误;也就是我切片时遇到的问题。
因此,我的解决思路就是修改Xmx配置。

三、操作

1、jetty

如果安装时使用的是windows installer安装方式的话,web服务器就是jetty。
找到GeoServer/bin/startup.bat,右键,编辑,将-Xmx512m改成自己需要的值。
如下图,我将配置文件中最大内存改为了32G,在系统中服务器状态可以看到效果。
在这里插入图片描述
在这里插入图片描述

2、tomcat

找到 tomcat_dir/bin/catalina.bat,右键,编辑,在第一行下插入:set JAVA_OPTS=-Xms256m -Xmx6G
在这里插入图片描述

PS:如果是linux操作系统,则应该编辑catalina.sh;且输入的格式为:JAVA_OPTS="-Xms256m -Xmx6G"

PPS:如果geoserver在docker容器中,需要考虑容器内存的限制。
一般来说,容器可以使用主机的所有内存;如果在启动时加入-m或–memory参数,设置了容器内存限制,此时geoserver的可用内存就需要基于容器的内存计算。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值