Fessクロール時の circuit_breaking_exceptionについて

クロールのログを確認したところ、下記のエラーが出ており、elasicsearchが停止してしまい、Fessログイン時にエラーになっていました。
対処法をご教示いただけますと幸いです。

Fessのダッシュボードに表示されているこのヒープサイズ上限に引っかかっているのでしょうか?
heap_size

2021-06-15 12:39:04,745 [Crawler-bDonCHoBdU2E1CvSGUZb-1-10] WARN Failed to store a failure url.
org.codelibs.fesen.FesenStatusException: Fesen exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for [<http_request>] would be [999693942/953.3mb], which is larger than the limit of [986932838/941.2mb], real usage: [999693112/953.3mb], new bytes reserved: [830/830b], usages [request=819312/800.1kb, fielddata=0/0b, in_flight_requests=2379046/2.2mb, model_inference=0/0b, accounting=2429404/2.3mb]]
at org.codelibs.fesen.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:187) ~[fesen-engine-server-0.12.0.jar:0.12.0]
at org.codelibs.fesen.client.action.HttpAction.toFesenException(HttpAction.java:138) ~[fesen-httpclient-0.12.0.jar:?]
at org.codelibs.fesen.client.action.HttpSearchAction.lambda$execute$0(HttpSearchAction.java:48) ~[fesen-httpclient-0.12.0.jar:?]
at org.codelibs.curl.CurlRequest.lambda$execute$4(CurlRequest.java:220) ~[curl4j-1.2.4.jar:?]
at org.codelibs.curl.CurlRequest.lambda$connect$3(CurlRequest.java:199) ~[curl4j-1.2.4.jar:?]
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) ~[?:?]
Suppressed: org.codelibs.fesen.FesenException: hits is null.
at org.codelibs.fesen.client.action.HttpSearchAction.lambda$execute$0(HttpSearchAction.java:48) ~[fesen-httpclient-0.12.0.jar:?]
at org.codelibs.curl.CurlRequest.lambda$execute$4(CurlRequest.java:220) ~[curl4j-1.2.4.jar:?]
at org.codelibs.curl.CurlRequest.lambda$connect$3(CurlRequest.java:199) ~[curl4j-1.2.4.jar:?]
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) ~[?:?]
Suppressed: org.codelibs.fesen.client.action.HttpAction$CurlResponseException: {“error”:{“root_cause”:[{“type”:“circuit_breaking_exception”,“reason”:"[parent] Data too large, data for [<http_request>] would be [999693942/953.3mb], which is larger than the limit of [986932838/941.2mb], real usage: [999693112/953.3mb], new bytes reserved: [830/830b], usages [request=819312/800.1kb, fielddata=0/0b, in_flight_requests=2379046/2.2mb, model_inference=0/0b, accounting=2429404/2.3mb]",“bytes_wanted”:999693942,“bytes_limit”:986932838,“durability”:“TRANSIENT”}],“type”:“circuit_breaking_exception”,“reason”:"[parent] Data too large, data for [<http_request>] would be [999693942/953.3mb], which is larger than the limit of [986932838/941.2mb], real usage: [999693112/953.3mb], new bytes reserved: [830/830b], usages [request=819312/800.1kb, fielddata=0/0b, in_flight_requests=2379046/2.2mb, model_inference=0/0b, accounting=2429404/2.3mb]",“bytes_wanted”:999693942,“bytes_limit”:986932838,“durability”:“TRANSIENT”},“status”:429}

elasticsearchのヒープメモリーのサイズを上げてみると良いと思います。

回答頂きありがとうございました。
下記の通り、インストールフォルダに存在しているjvn.optionsファイルにメモリサイズ8GBの指定を行った上、サービスを再起動しましたが、Fessダッシュボード上ではヒープサイズが変更されませんでした。

設定で不備がございましたら、ご教授頂ければ幸いです。

C:\elasticsearch-7.12.0\config\jvm.options
################################################################

JVM configuration

################################################################

WARNING: DO NOT EDIT THIS FILE. If you want to override the

JVM options in this file, or set any additional options, you

should create one or more files in the jvm.options.d

directory containing your adjustments.

See Settng JVM options | Elasticsearch Guide [7.13] | Elastic

for more information.

################################################################

################################################################

IMPORTANT: JVM heap size

################################################################

The heap size is automatically configured by Elasticsearch

based on the available memory in your system and the roles

each node is configured to fulfill. If specifying heap is

required, it should be done through a file in jvm.options.d,

and the min and max should be set to the same value. For

example, to set the heap to 4 GB, create a new file in the

jvm.options.d directory containing these lines:

-Xms4g

-Xmx4g

See Heap size settings | Elasticsearch Guide [7.13] | Elastic

for more information

################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms8g
-Xmx8g

################################################################

Expert settings

################################################################

All settings below here are considered expert settings. Do

not adjust them unless you understand what you are doing. Do

not edit them in this file; instead, create a new file in the

jvm.options.d directory containing your adjustments.

################################################################

GC configuration

8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly

G1GC Configuration

NOTE: G1 GC is only supported on JDK version 10 or later

to use G1GC, uncomment the next two lines and update the version on the

following three lines to your version of the JDK

10-13:-XX:-UseConcMarkSweepGC

10-13:-XX:-UseCMSInitiatingOccupancyOnly

14-:-XX:+UseG1GC

JVM temporary directory

-Djava.io.tmpdir=${ES_TMPDIR}

heap dumps

generate a heap dump when an allocation from the Java heap fails; heap dumps

are created in the working directory of the JVM unless an alternative path is

specified

-XX:+HeapDumpOnOutOfMemoryError

specify an alternative path for heap dumps; ensure the directory exists and

has sufficient space

-XX:HeapDumpPath=data

specify an alternative path for JVM fatal error logs

-XX:ErrorFile=logs/hs_err_pid%p.log

JDK 8 GC logging

8:-XX:+PrintGCDetails
8:-XX:+PrintGCDateStamps
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime
8:-Xloggc:logs/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m

JDK 9+ GC logging

9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m

Fessが外部のElasticsearchを利用する設定になっているかを確認してみると良いと思います。

回答頂きありがとうございました。

下記の通り、fessから外部のelasticsearchを参照するように設定しております。
編集ファイル
■elasticsearch.yml
■fess.in.sh
■fess.in.bat

不備等ありましたらご教授頂ければ幸いです。

■elasticsearch.yml

# ======================== Elasticsearch Configuration =========================

# NOTE: Elasticsearch comes with reasonable defaults for most settings.

# Before you set out to tweak and tune the configuration, make sure you

# understand what are you trying to accomplish and the consequences.

# The primary way of configuring a node is via this file. This template lists

# the most important settings you may want to configure for a production cluster.

# Please consult the documentation for further information on configuration options:

# Elasticsearch Guide | Elastic

# ---------------------------------- Cluster -----------------------------------

# Use a descriptive name for your cluster:

#cluster.name: my-application

# ------------------------------------ Node ------------------------------------

# Use a descriptive name for the node:

#node.name: node-1

# Add custom attributes to the node:

#node.attr.rack: r1

# ----------------------------------- Paths ------------------------------------

# Path to directory where to store the data (separate multiple locations by comma):

#path.data: /path/to/data

# Path to log files:

#path.logs: /path/to/logs

# ----------------------------------- Memory -----------------------------------

# Lock the memory on startup:

#bootstrap.memory_lock: true

# Make sure that the heap size is set to about half the memory available

# on the system and that the owner of the process is allowed to use this

# limit.

# Elasticsearch performs poorly when the system is swapping the memory.

# ---------------------------------- Network -----------------------------------

# By default Elasticsearch is only accessible on localhost. Set a different

# address here to expose this node on the network:

#network.host: 192.168.0.1

# By default Elasticsearch listens for HTTP traffic on the first free port it

# finds starting at 9200. Set a specific HTTP port here:

#http.port: 9200

# For more information, consult the network module documentation.

# --------------------------------- Discovery ----------------------------------

# Pass an initial list of hosts to perform discovery when this node is started:

# The default list of hosts is [“127.0.0.1”, “[::1]”]

#discovery.seed_hosts: [“host1”, “host2”]

# Bootstrap the cluster using an initial set of master-eligible nodes:

#cluster.initial_master_nodes: [“node-1”, “node-2”]

# For more information, consult the discovery and cluster formation module documentation.

# ---------------------------------- Various -----------------------------------

# Require explicit names when deleting indices:

#action.destructive_requires_name: true
configsync.config_path: c:/elasticsearch-7.12.0/data/config/

■fess.in.sh
#!/bin/sh

FESS_CLASSPATH=$FESS_HOME/lib/classes
FESS_HEAP_SIZE=4g

# JAVA_OPTS is not a built-in JVM mechanism but some people think it is so we

# warn them that we are not observing the value of $JAVA_OPTS

if [ ! -z “$JAVA_OPTS” ]; then
echo -n "warning: ignoring JAVA_OPTS=$JAVA_OPTS; "
echo “pass JVM parameters via FESS_JAVA_OPTS”
fi

if [ “x$FESS_MIN_MEM” = “x” ]; then
FESS_MIN_MEM=256m
fi
if [ “x$FESS_MAX_MEM” = “x” ]; then
FESS_MAX_MEM=4g
fi
if [ “x$FESS_HEAP_SIZE” != “x” ]; then
FESS_MIN_MEM=$FESS_HEAP_SIZE
FESS_MAX_MEM=$FESS_HEAP_SIZE
fi

# External elasticsearch cluster

ES_HTTP_URL=http://localhost:9200
FESS_DICTIONARY_PATH=c:/elasticsearch-7.12.0/data/config/

# SSL truststore for certificate validation over https

#FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djavax.net.ssl.trustStore=/tech/elastic/config/truststore.jks"
#FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djavax.net.ssl.trustStorePassword=changeit"

# min and max heap sizes should be set to the same value to avoid

# stop-the-world GC pauses during resize, and so that we can lock the

# heap in memory on startup to prevent any of it from being swapped

# out.

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xms${FESS_MIN_MEM}"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xmx${FESS_MAX_MEM}"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=32m"

# new generation

if [ “x$FESS_HEAP_NEWSIZE” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xmn${FESS_HEAP_NEWSIZE}"
fi

# set to headless, just in case

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djava.awt.headless=true"

# maximum # keep-alive connections to maintain at once

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dhttp.maxConnections=20"

# Force the JVM to use IPv4 stack

if [ “x$FESS_USE_IPV4” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djava.net.preferIPv4Stack=true"
fi

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djna.nosys=true"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Djdk.io.permissionsUseCanonicalPath=true"

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+UseG1GC"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:InitiatingHeapOccupancyPercent=75"

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dio.netty.noUnsafe=true"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dio.netty.noKeySetOptimization=true"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dio.netty.recycler.maxCapacityPerThread=0"

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j.shutdownHookEnabled=false"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j2.disable.jmx=true"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j.skipJansi=true"

# Causes the JVM to dump its heap on OutOfMemory.

#FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"

# The path to the heap dump location, note directory must exists and have enough

# space for a full heap dump.

#FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:HeapDumpPath=$FESS_HOME/logs/heapdump.hprof"

# Disables explicit GC

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+DisableExplicitGC"

# Ensure UTF-8 encoding by default (e.g. filenames)

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfile.encoding=UTF-8"

# Use Groovy ClassValue

FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dgroovy.use.classvalue=true"

# Application Configuration

if [ “x$APP_NAME” = “x” ]; then
APP_NAME=fess
fi
if [ “x$ES_HOME” = “x” ]; then
ES_HOME=$FESS_HOME/es
fi
if [ “x$FESS_TEMP_PATH” = “x” ]; then
FESS_TEMP_PATH=$FESS_HOME/temp
fi
if [ “x$FESS_LOG_PATH” = “x” ]; then
FESS_LOG_PATH=$FESS_HOME/logs
fi
if [ “x$FESS_LOG_LEVEL” = “x” ]; then
FESS_LOG_LEVEL=warn
fi
if [ “x$FESS_PORT” = “x” ]; then
FESS_PORT=8080
fi
if [ “x$FESS_CONTEXT_PATH” = “x” ]; then
FESS_CONTEXT_PATH=/
fi
if [ “x$FESS_USE_GC_LOGGING” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xlog:gc,gc+age=trace,safepoint:file=$FESS_LOG_PATH/gc-$APP_NAME.log:utctime,pid,tags:filecount=5,filesize=64m"*
fi
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.home=$FESS_HOME"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.context.path=$FESS_CONTEXT_PATH"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.port=$FESS_PORT"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.webapp.path=$FESS_HOME/app"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.temp.path=$FESS_TEMP_PATH"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.log.name=$APP_NAME"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.log.path=$FESS_LOG_PATH"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.log.level=$FESS_LOG_LEVEL"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlasta.env=web"
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dtomcat.config.path=tomcat_config.properties"
if [ “x$FESS_CONF_PATH” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.conf.path=$FESS_CONF_PATH"
fi
if [ “x$FESS_VAR_PATH” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.var.path=$FESS_VAR_PATH"
fi
if [ “x$ES_HTTP_URL” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.es.http_address=$ES_HTTP_URL"
fi
if [ “x$FESS_DICTIONARY_PATH” != “x” ]; then
FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.dictionary.path=$FESS_DICTIONARY_PATH"
fi

GROOVY_TURN_OFF_JAVA_WARNINGS=true

■fess.in.bat
@echo off

if DEFINED JAVA_HOME goto cont

:err
ECHO JAVA_HOME environment variable must be set! 1>&2
EXIT /B 1

:cont
set SCRIPT_DIR=%~dp0
for %%I in ("%SCRIPT_DIR%…") do set FESS_HOME=%%~dpfI

*REM ***** JAVA options ******

if “%FESS_MIN_MEM%” == “” (
set FESS_MIN_MEM=256m
)

if “%FESS_MAX_MEM%” == “” (
set FESS_MAX_MEM=1g
)

if NOT “%FESS_HEAP_SIZE%” == “” (
set FESS_MIN_MEM=%FESS_HEAP_SIZE%
set FESS_MAX_MEM=%FESS_HEAP_SIZE%
)

REM min and max heap sizes should be set to the same value to avoid
REM stop-the-world GC pauses during resize, and so that we can lock the
REM heap in memory on startup to prevent any of it from being swapped
REM out.
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Xms%FESS_MIN_MEM% -Xmx%FESS_MAX_MEM%
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=32m

REM new generation
if NOT “%FESS_HEAP_NEWSIZE%” == “” (
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Xmn%FESS_HEAP_NEWSIZE%
)

REM max direct memory
if NOT “%FESS_DIRECT_SIZE%” == “” (
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:MaxDirectMemorySize=%FESS_DIRECT_SIZE%
)

REM set to headless, just in case
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djava.awt.headless=true

REM maximum # keep-alive connections to maintain at once
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dhttp.maxConnections=20

REM Force the JVM to use IPv4 stack
if NOT “%FESS_USE_IPV4%” == “” (
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djava.net.preferIPv4Stack=true
)

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djna.nosys=true
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djdk.io.permissionsUseCanonicalPath=true

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+UseG1GC
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:InitiatingHeapOccupancyPercent=75

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dio.netty.noUnsafe=true
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dio.netty.noKeySetOptimization=true
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dio.netty.recycler.maxCapacityPerThread=0

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dlog4j.shutdownHookEnabled=false
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dlog4j2.disable.jmx=true
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dlog4j.skipJansi=true

REM SSL truststore for certificate validation over https
REM FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djavax.net.ssl.trustStore=/tech/elastic/config/truststore.jks
REM FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=changeit

REM Causes the JVM to dump its heap on OutOfMemory.
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
REM The path to the heap dump location, note directory must exists and have enough
REM space for a full heap dump.
REM FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:HeapDumpPath=%FESS_HOME%/logs/heapdump.hprof

REM Disables explicit GC
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+DisableExplicitGC

REM Ensure UTF-8 encoding by default (e.g. filenames)
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfile.encoding=UTF-8

REM Use Groovy ClassValue
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dgroovy.use.classvalue=true

REM Application Configuration
set APP_NAME=fess
set ES_HOME=C:\elasticsearch-7.12.0

if NOT “%FESS_USE_GC_LOGGING%” == “” set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Xlog:gc,gc+age=trace,safepoint:file=%FESS_HOME%/logs/gc-%APP_NAME%.log:utctime,pid,tags:filecount=5,filesize=64m*

set FESS_CLASSPATH=%FESS_HOME%\lib\classes
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Des-foreground=yes
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.home="%FESS_HOME%"
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.dir="%ES_HOME%"
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.context.path=/
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.port=8080
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.webapp.path=%FESS_HOME%\app
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.temp.path=%FESS_HOME%\temp
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.log.name=%APP_NAME%
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.log.path=%FESS_HOME%\logs
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.log.level=warn
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dlasta.env=web
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dtomcat.config.path=tomcat_config.properties

REM External elasticsearch cluster
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=“c:/elasticsearch-7.12.0/data/config/”

set GROOVY_TURN_OFF_JAVA_WARNINGS=true

Fessのダッシュボードのelasticsearchのノード名と利用しようとしているelasticsearchのノード名が一致していれば、それを利用していると思います。ノード名が一致しているのであれば、elasticsearchの設定がうまくいっていないだけだと思われるので、elasticsearchのドキュメントを参考にして、設定していただくのが良いと思います。

fess.in.shはLinuxようなので、Windowsでは参照されません。

情報頂きありがとうございました。
設定変更後にwindowsサービスレベルでelasticsearchとFessを再起動していたのみで、Windows自体の再起動を行っていなかったので、設定が反映されていませんでした。
設定変更⇒windows再起動⇒windowsサービスに再登録を行い、起動したところ問題無くメモリが拡張できております。ありがとうございました。