Skip to main content
Question

How do I allocate more memory to the JVM?


jrlalessi
Contributor
Forum|alt.badge.img+6

I am using the FME 2020.1 Desktop (win 64) install with the MSACCESS_JDBC reader. The work bench command line is being used in an existing code, and successfully processes 27 of my 30 mdb.

 

The three mdb that don't process produce the following error:

 

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::5.0.0 java.lang.OutOfMemoryError: GC overhead limit exceeded

at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:231)

at COM.safe.fme.jdbc.JdbcCommon.openConnection(JdbcCommon.java:464)

at COM.safe.fme.jdbc.JdbcReader.openHelper(JdbcReader.java:186)

at COM.safe.fme.jdbc.JdbcReader.open(JdbcReader.java:155)

Caused by: java.sql.BatchUpdateException: java.lang.OutOfMemoryError: GC overhead limit exceeded

at jdbc.ucanaccess.shaded.org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(Unknown Source)

at net.ucanaccess.converters.LoadJet$TablesLoader.loadTableData(LoadJet.java:865)

at net.ucanaccess.converters.LoadJet$TablesLoader.loadTableData(LoadJet.java:837)

at net.ucanaccess.converters.LoadJet$TablesLoader.loadTablesData(LoadJet.java:1029)

at net.ucanaccess.converters.LoadJet$TablesLoader.loadTables(LoadJet.java:1077)

at net.ucanaccess.converters.LoadJet$TablesLoader.access$3200(LoadJet.java:264)

at net.ucanaccess.converters.LoadJet.loadDB(LoadJet.java:1579)

at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:218)

... 3 more

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::5.0.0 java.lang.OutOfMemoryError: GC overhead limit exceeded

 

I already have a FME_TEMP set up.

 

Everything that I have found in the community pages says that I need to "increase the heap size by setting the -Xmx flag to a higher value" asa last ditch option.

 

Thats where I'm at, however I cannot determine HOW to make this change in Desktop.

4 replies

virtualcitymatt
Celebrity
Forum|alt.badge.img+35

You will need to set them as environment variables on your machine (e.g., https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0)

 

This page explains which environment variables you need to set.

 

You will might need to restart FME Workbench after creating the environment variables

 

 

 


jrlalessi
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • September 1, 2023
virtualcitymatt wrote:

You will need to set them as environment variables on your machine (e.g., https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/1.5.1/oread/creating-and-modifying-environment-variables-on-windows.html#GUID-DD6F9982-60D5-48F6-8270-A27EC53807D0)

 

This page explains which environment variables you need to set.

 

You will might need to restart FME Workbench after creating the environment variables

 

 

 

Hi,

All of the env variables cited in the article were and are in place on the server that the error is occurring on. What I need to understand is how to set the -Xmx flag in the JVM launch that is called by the reader. My understanding is that the default is 2gb, however I need to increase it to 3gb.


virtualcitymatt
Celebrity
Forum|alt.badge.img+35
jrlalessi wrote:

Hi,

All of the env variables cited in the article were and are in place on the server that the error is occurring on. What I need to understand is how to set the -Xmx flag in the JVM launch that is called by the reader. My understanding is that the default is 2gb, however I need to increase it to 3gb.

Sorry I realise I didn't link FME page: https://docs.safe.com/fme/2020.1/html/FME_Desktop_Documentation/FME_ReadersWriters/msaccess_jdbc/msaccess_jdbc.htm

Setting theeese environment variables will control how much memory the JVM gets. At least that is my understanding.

It's not something you cat set at runtime from what I can see. I could be wrong though.


jrlalessi
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • September 1, 2023
jrlalessi wrote:

Hi,

All of the env variables cited in the article were and are in place on the server that the error is occurring on. What I need to understand is how to set the -Xmx flag in the JVM launch that is called by the reader. My understanding is that the default is 2gb, however I need to increase it to 3gb.

Thank you so much this is the solution I was looking for! I must have been using the wrong verbiage to search it.

Forever grateful :)


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings