历史版本24 :修改FineReport配置参数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

FineReport 报表工程部署到其他应用服务器上时,对应用服务器有一定的配置要求,因此当应用服务器不能满足报表工程使用时,会出现宕机风险。

FineReport 在部署后需要修改使用内存和其他参数,确保服务器稳定运行。

2. 修改堆内内存编辑

请参见下方表格内容:

参数介绍服务器类型参考文档

-Xmx 参数:最大堆内内存

-Xms 参数:初始化内存大小

注1:Xmx/Xms 与数字之间不要有空格

注2:建议配置Xms=Xmx,以防止内存扩容失败情况

Tomcat 服务器
Tomcat 服务器内存修改
WebLogic 服务器WebLogic 服务器内存修改
WebSphere 服务器WebSphere 服务器
JBoss 服务器JBoss 服务器
Resin 服务器Resin 服务器内存修改

堆内内存配置推荐:

物理机
JVM
推荐
32G内存、报表独占
16G

-Xms16g

-Xmx16g

24G

-Xms24g

-Xmx24g

16G内存、报表独占8G

-Xms8g

-Xmx8g

3. 设置单线程使用栈空间编辑

建议单线程使用栈空间不超过 1024KB,即 -Xss 的值不超过 1024 。本节展示 Tomcat 环境下设置 -Xss 的步骤。

Windows 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件catalina.bat,在已有的配置参数set JAVA_OPTS= -Xms512M -Xmx1024M后再增加一条参数:

-Xss1024K

如下图所示:

1629877222890103.png

2)修改后,重启工程。在%Tomcat%/logs下查看catalina.log文件,说明配置生效,如下图所示:

1629877633583487.png

Linux 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件catalina.sh,在已有的配置参数JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M"语句中再增加一条参数:

-Xss512K

1629875505975736.png

2)修改后,重启工程。输入ps -ef|grep tomcat(语句中的 tomcat 根据实际情况修改)查看进程,检查参数是否配置成功,若如下所示进程信息中出现参数相关信息,则表示配置成功:

6.png

4. 设置堆内老年代与新生代大小比例编辑

堆内老年代与新生代大小比例建议为 2(-XX:NewRatio=2,JVM的默认值);NewRatio 大小正常生效需要用户不限制新生代大小。

在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值即可,本节展示 Tomcat 环境下设置 NewRatio 的步骤。

Windows 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件catalina.bat,在已有的配置参数set JAVA_OPTS= -Xms512M -Xmx1024M -Xss512K后再增加一条参数:

-XX:NewRatio=2

如下图所示:

1629877287667033.png

2)修改后,重启工程。在%Tomcat%/logs下查看catalina.log文件,说明配置生效,如下图所示:

1629877444964510.png

Linux 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件catalina.sh,在已有的配置参数JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss512K"语句中再增加一条参数:

-XX:NewRatio=2

1629876039199602.png

2)修改后,重启工程。输入ps -ef|grep tomcat(语句中的 tomcat 根据实际情况修改)查看进程,检查参数是否配置成功,若如下所示进程信息中出现参数相关信息,则表示配置成功:

8.png

5. 修改 MaxDirectMemorySize 参数编辑

堆外内存由-XX:MaxDirectMemorySize这个参数来设置,建议参数值为 2GB 。

5.1 直接部署修改参数

1)如果是安装包直接安装 FineReport ,可以直接在%FR_HOME%/bin目录下的designer.vmoptions文件中修改。Windows 以及 Linux/Unix 系统均修改该文件(这里是以 M 为单位),如下图所示:

3.png

增加参数如下图所示:

-XX:MaxDirectMemorySize=2g

1603681741842976.png

2)配置完成后重启工程。

5.2 部署在 Tomcat 中修改参数

Windows 系统:

1)配置方式:进入%Tomcat%/bin目录,找到并编辑配置文件catalina.bat,增加配置:

set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g

表示 MaxDirectMemorySize = 2GB,如下图所示:

1629877568196861.png

2)修改后,重启工程。在%Tomcat%/logs下查看catalina.log文件,说明配置生效,如下图所示:

1629877781252697.png

Linux 系统:

1)Linux/Unix 修改 catalina.sh 文件,增加配置:

JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"

1629876451123355.png

2)配置完成后重启工程。输入ps -ef|grep tomcat(语句中的 tomcat 根据实际情况修改)查看进程,检查参数是否配置成功,若如下所示进程信息中出现参数相关信息,则表示配置成功:

10.png

5.3 部署在 Weblogic 中修改参数

修改 Weblogic 安装目录%Weblogic%/domains/用户工程名/下的 startWebLogic 文件,增加一条配置。

Windows 系统:

1)Windows 在startWebLogic.bat文件中新增配置:

set  MEM_ARGS=-XX:MaxDirectMemorySize=2g     #表示 MaxDirectMemorySize = 2GB

2)配置完成后重启工程。

Linux 系统:

1)Linux 在startWebLogic.sh文件中新增配置:

MEM_ARGS="-XX:MaxDirectMemorySize=2g"      #表示 MaxDirectMemorySize = 2GB

如下图所示:

1598430089327280.png

2)配置完成后重启工程。

5.4 部署在 Websphere 中修改参数

5.4.1 方法一:控制台编辑(推荐)

访问 Websphere 控制台,进入 JAVA 虚拟机配置界面,同本文 3.3.1 节,在输入框中新增 JVM 参数:

-MaxDirectMemorySize=2096

如下图所示:

image.png

5.4.2 方法二:修改配置文件

修改 Websphere 安装目录下的配置文件 server.xml ,在其中新增 JVM 参数:

MaxDirectMemorySize="2096"

如下图所示:

1598432040392617.png

配置完成后重启工程。

6. 修改fineIO内存编辑

11.0 启用了 fineIO 来配置堆外内存,堆外内存的配置更具体,客户可根据自己的需要灵活配置

堆外内存被分为读内存与写内存,以及缓存(不占用实际堆外内存),可以通过参数分别配置:

  • 读内存:-Dfineio.read_mem_limit

  • 写内存:-Dfineio.write_mem_limit

  • 缓存: -Dfineio.cache_mem_limit

修改参数的方法见文档 系统检查 的 2.4 和 2.5 节。

示例:

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

-Dfineio.cache_mem_limit=1

注1:默认单位为 GB,支持小数,但不支持使用g,m等。

注2:建议读内存为写内存的 2~3 倍,缓存大小建议与写内存大小一致。(如果未配置,默认为读内存2G,写内存1G,缓存1G)

注3:缓存内存大小不占堆外内存空间! 最大堆外内存大小为3GB!

注4:配置堆外内存时,不管版本,FineIO 和 -XX:MaxDirectMemorySize 要同时配置!只限制一部分依然可能导致宕机!

配置推荐:

物理机
JVM
fineIO
32G内存、报表独占
16G

-XX:MaxDirectMemorySize=1g

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

-Dfineio.cache_mem_limit=1

24G

-XX:MaxDirectMemorySize=1g

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

-Dfineio.cache_mem_limit=1

16G内存、报表独占8G

-XX:MaxDirectMemorySize=1g

-Dfineio.read_mem_limit=2

-Dfineio.write_mem_limit=1

-Dfineio.cache_mem_limit=1

7. 垃圾收集器编辑

建议使用默认的 Parallel Scavenge 收集器(并行收集器)。

7.1 查看当前使用的垃圾收集器

注:若使用本节语句,查询结果包含若 -XX:+UseParallelGC ,则忽略本文 6.2 节内容。

7.1.1 Windows 系统下查看

win+R 进入cmd,命令如下所示:

java -XX:+PrintCommandLineFlags -version

如下图所示:

1599212834745743.png

7.1.2 Linux 系统下查看

输入以下命令:

java -XX:+PrintCommandLineFlags -version

如下图所示:

image.png

7.2 设置垃圾收集器

工程部署在 Tomcat 上时, 可参考本节方法设置垃圾收集器为Parallel Scavenge(并行收集器)。

Windows 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件 catalina.bat ,配置:

set JAVA_OPTS= -XX:+UseParallelGC

如下图所示:

1629877927876472.png

2)修改后,重启工程。参考 6.1 节内容查看当前使用的垃圾收集器。

Linux 系统:

1)进入%Tomcat%/bin目录,找到并编辑配置文件 catalina.sh,配置:

JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"

1629876788858941.png

2)修改后,重启工程。参考 6.1 节内容查看当前使用的垃圾收集器。

8. 注意事项编辑

1)建议工程所在磁盘剩余空间不小于 5G 。

2)建议物理机总内存减去系统所在容器使用内存不小于 10GB 。