Forum Stats

  • 3,817,427 Users
  • 2,259,333 Discussions
  • 7,893,772 Comments

Discussions

On what basis we decide heap memory in oracle NoSQL database?

User_Z5OX2
User_Z5OX2 Member Posts: 1 Green Ribbon
edited Jun 9, 2021 7:10AM in NoSQL Database Discussions

On what basis we decide heap memory in oracle NoSQL database?

Also what is the maximum heap size we can allocate which will not exceed there limit and put impact on application.

please help to understand this

Tagged:

Answers

  • By default, the system assumes that all memory on the machine running the Storage Node Agent is available for use by Oracle NoSQL Database. The system then arranges to reserve a portion of that memory for use by the operating system.

    The parameters for controlling memory usage are documented in the Adminstrator's Guide -- see the section on setting storage node parameters:

    https://docs.oracle.com/en/database/other-databases/nosql-database/21.1/admin/setting-store-parameters.html#GUID-E5F09161-ABD3-4F8A-8EF8-26271EB82116

    The memoryMB parameter specifies the amount of memory available for use by Oracle NoSQL Database, and defaults to the total RAM if not specified.

    The rnHeapPercent parameter specifies the percentage of the total memoryp to use for maximum heap sizes for RNs on that SN.

    The jvmOverheadPercent parameter specifies the expected additional memory usage by the Java virtual machine beyond the specified maximum. The actual overhead may vary depending on the store usage pattern, so this parameter may need to be adjusted based on your experience managing the store.

    These last two parameters by default allocate 85% of total RAM for use by the RN's Java virtual machine, leaving the remaining 15% for the operating system and file system cache.

    In addition, the rnHeapMaxMB parameter specifies the maximum heap size for the RN's Java virtual machine. The default is roughly 32 GB and is chosen to allow the use of compressed object references. This limit means that, on a machine with a large amount of memory, it is generally better to deploy multiple RNs with each limited to a 32 GB Java heap size.

    Hope this explanation provides some background. Please post again if you have more specific questions.