Discussions
Categories
- 196.8K All Categories
- 2.2K Data
- 235 Big Data Appliance
- 1.9K Data Science
- 449.9K Databases
- 221.6K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.9K SQL & PL/SQL
- 21.3K SQL Developer
- 295.5K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.2K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 154 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 158 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 402 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 230 Portuguese
On what basis we decide heap memory in oracle NoSQL database?

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
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:
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.