Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Purpose Yes
No
Scope
Details
Document Details
Setting the heap for the Planning JVM.
OutOfMemory Errors and Possible Solutions
Type:
REFERENCE
Useful parameters for enhancing the performance of the JRocket JVM Status:
PUBLISHED
Steps to make changes to Planning JRocket JVM Last Major
15-Apr-2014
Update:
Planning Application Use and Design to avoid the OutOfMemory Errors 04-Aug-2017
Last Update:
References
Related Products
APPLIES TO: Hyperion Planning
Oracle WebLogic Server
Oracle Exalytics Software
Hyperion Planning
Oracle WebLogic Server - Version 11.1.1.6.0 to 11.1.1.6.0 [Release 11g]
Oracle Exalytics Software - Version 2.0.0.0.0 to 2.0.0.0.0 [Release 2.0] Information Centers
Information in this document applies to any platform. Information Center: Business
Analytics Index (EPM/BI)
[1378677.2]
PURPOSE
Information Center: Oracle
WebLogic Server [1298857.2]
The purpose of this KM to look at some of of the common reasons for getting the OutOfMemory error messages.
Information Center: Fusion
Middleware SSL Configuration
SCOPE [2298265.2]
Show More
Setting the heap for the Planning JVM.
System performance is greatly influenced by the size of the Java heap available to the JVM. The server heap settings depends Document References
on number of Planning applications, number of users on system, typical operations. Optimal JVM settings can be determined Hyperion Planning Data Form
only by close monitoring of application server performance under peak realistic load. Newly deployed web application server Design Considerations
instances use default memory heap settings, which are often too small to accommodate EPM System requirements. [779502.1]
Max heap size should not exceed the available RAM. The heap sizes should be set to values such that the Troubleshooting Java[tm]:
Error Occurred During
maximum amount of memory used by the JVM does not exceed the amount of available physical RAM. If this value is
Initialization of VM: Could not
exceeded, the OS starts paging and performance degrades significantly. The JVM always uses more memory than the reserve enough space for
heap size. The memory required for internal JVM functionality, native libraries outside of the JVM, and permanent object heap [1260764.1]
generation memory (for the Sun JVM only: memory required to store classes and methods) is allocated in addition to the
heap size settings.
Recently Viewed
Use 64 bit JVM for allocation of a larger heap. You cannot use 32bit JVM in order to allocate a heap of more than
1024 MB, you need to use a 64bit JVM in order to allocate more than 1024 MB of maximum heap. Development Available Patch Sets and
Patch Set Updates for Oracle
recommends for servers running Web applications in the standard deployment model, servers with physical memory of 12 Hyperion Financial
GB and heap sizes of 8 GB. This recommendation is based on performance testing, which has shown that the number of Management (HFM) and
concurrent users can increase almost linearly up to heap sizes of 8 GB. Having servers with larger memory allows greater Hyperion Tax Provision
flexibility with larger applications on these servers. (HTP) [1321453.1]
Reference link: http://docs.oracle.com/cd/E17236_01/epm.1112/epm_deploy_guide_1112200.pdf. Available Patch Sets and
Patch Set Updates for Oracle
Hyperion Enterprise
Garbage Collection. By default, JRockit JVM uses the dynamic garbage collection strategy to optimize for throughput. Performance Management
For EPM component, it is not recommended to change to other available dynamic strategies. By setting minimum heap Products [1400559.1]
size = maximum heap size you get a controlled environment where you get a good heap size right from the start and also Available Patch Sets and
to minimize minor/major garbage collections. Patch Set Updates for Oracle
Hyperion Planning
[1395593.1]
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
Patching &
OutOfMemory Errors and Possible Solutions Maintenance Advisor:
Enterprise Performance
At anytime Planning runs OutOfMemory, which crashes the Planning environment will require a restart of the Planning service to Management (EPM) 11.1.2.x
restore functionality. There are many causes for out of memory exceptions, too small of a heap defined, a memory leak, not [1517258.1]
enough Perm Gen space defined, not enough physical memory being available on the machine where the JVM runs or poorly Hyperion Planning JVM
designed Planning forms, or a memory leak in the Application Code. OutOfMemory [1639475.1]
Show More
Normally when a Panning runs out of memory it will be displayed in the server logfiles. Below are few errors that you may
encounter:
java.lang.OutOfMemoryError: getNewTla
Each thread allocates TLA (Thread Local Area) to store short living objects, and benefits GC to reclaim space. The
respective thread can then allocate objects in its TLA without synchronizing with other threads. If particular TLA size
become full, then new TLA will be allotted. When you encounter the error related to getNewTla you can try the tuning
parameter below:
-XXtlasize:min=32k,preferred=256k,wasteLimit=32k
This switch controls the size of memory blocks that are provided to processing threads as they request memory for the
creation of objects local to the thread. Increasing the size of the provided blocks reduces memory fragmentation and
allows larger objects to be stored in thread-local memory which results in better performance.
min=size
Sets the preferred size of a TLA. The system will try to get TLAs of this size if possible, but will accept TLAs down to the
minimum size, if that's what's available. Occasionally, a TLA can get larger than the preferred size, too. The preferred size
must not be lower than the minimum size.
wasteLimit=size
Sets the waste limit for TLAs. This is the maximum amount of free memory that a TLA is allowed to have when a thread
requires a new TLA.
java.lang.StackOverflowError
If the computation in a thread requires a larger Java Virtual Machine stack than is permitted, the Java Virtual Machine
throws a StackOverflowError . If Java Virtual Machine stacks can be dynamically expanded, and expansion is attempted
but insufficient memory can be made available to effect the expansion, or if insufficient memory can be made available
to create the initial Java Virtual Machine stack for a new thread, the Java Virtual Machine throws an OutOfMemoryError .
Change the thread stack size by using the -Xss option at JVM startup
-Xss2048K
The Following Parameters can be added to the Planning Service in the registry on Windows or to the setCustomParams.sh|bat
script when not using the service to start the Planning Process.
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
-XXaggressive
This switch instructs JRockit to more assertively optimize application code and utilize memory. By default JRockit balances
the cost of performing optimization and the estimated performance improvements that they create. This switch is used to
indicate that the server has sufficient resources to perform more optimization up-front without affecting performance.
-XXgcThreads=4
This switch instructs JRockit how many processing threads to create for memory reclamation processes. Some server
hardware may make it difficult for JRockit to determine the appropriate number of threads to create. To support a large
number of concurrent users, the value specified should equal the number of physical processors
-XX:JITThreads=2
This switch instructs JRockit to use multiple threads for code compilation, rather than the default of a single thread.
Values greater than 2 may be specified for more powerful servers, and useful in the case of “compact deployments”, but
a value greater than 4 is probably excessive.
-XX:OptThreads=2
This switch instructs JRockit to use multiple threads for code optimization, rather than the default of a single thread.
Values greater than 2 may be specified but 2 threads is probably adequate except in the case of “compact deployments”
in which case a value of 3 or 4 may be preferred. The OptThreads value does not need to be as high as the JITThread
value as optimization occurs less often than compilation.
-XX:MaxClassBlockMemory=75M
This switch instructs JRockit how much memory to reserve for application code that has been loaded and compiled. The
default size of the memory pool is 50M and it is recommended that this size is increased to 75M, especially in the case of
a “compact deployment”. Over time JRockit compiles and optimizes more of the application and platform code and this
result in an increase of the memory requirement. With the default value of 50M it is possible to encounter an Out-of-
Memory error after sufficient up-time and heavy application usage.
-XXcompressedRefs:size=32GB
When multiple WebLogic application servers are running on a server, significant performance gains can be introduced by
including the startup switch. It also eliminates the potential for out of memory errors When you run the JRockit JVM on a
64-bit system with a heap size less than 4 GB, if native. This enables heap to grow up to 32 GB heap (practical limit of 25
GB). This will fix the issue native OutOfMemory errors. Moreover heap size still be restricted till the limits defined using -
Xmx only benefit would be your heap will get the capability to grow beyond 4 GB up to 25 GB due to increase in size of
pointer to 32 bit address.
The optimizations are enabled via the setCustomParamsPlanning.sh|bat startup command script if the Planning process is on
Unix/Linux environment or via the Windows registry if the Planning JVM is started as a service.
Startup Script
Windows Registry
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
1. To update the Windows registry, the JVMOptionCount value must first be increased to the appropriate decimal value:
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
2. Next a new JVMOption DWORD value is created:
3. The value name must be JVMOption# where # is the next number in the options sequence:
Turn off process management for Version and Scenario members for which it is not needed
By default, new Scenario and Version members are enabled for process management. Each Entity-Scenario-Version
combination (each Planning unit) costs resources because Planning must check who currently owns the Planning unit and
check the security settings. If you have many Scenarios and Versions the number of combinations increases rapidly.
Decide what Versions and Scenarios need to be available for process management, and then disable the others. If you
are not using process management at all then you can disable process management support for all Version and Scenario
members. To disable process management support, edit a member of the Scenario or Version dimension. In the member
properties, uncheck the "Enable for process management" checkbox. Repeat for each member you want to disable
process management for. When finished, do a database refresh using the Administration> Manage Database page and
restart the Planning service.
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
REFERENCES
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767
3/14/2018 Document 1639475.1
NOTE:779502.1 - Hyperion Planning Data Form Design Considerations
NOTE:1636657.1 - Monitoring the Planning JVM in EPM Environment
https://blogs.oracle.com/pa/entry/epm_infrastructure_tuning_guide_v11
NOTE:1260764.1 - Troubleshooting Java[tm]: Error Occurred During Initialization of VM: Could not reserve enough space for
object heap
Didn't find what you are looking for? Ask in Community...
Related
Products
Enterprise Performance Management and Business Intelligence > Enterprise Performance Management > Planning > Hyperion Planning > Hyperion Planning > Performance
Middleware > Application Servers > Weblogic Server > Oracle WebLogic Server > WLS JVM
Sun Microsystems > Specialized Systems > Middleware Systems > Oracle Exalytics Software > Collaborate > Weblogic Server Issue
Keywords
ALLOCATION; APPLICATION SERVER; ENVIRONMENT; FRAGMENTATION; GARBAGE COLLECTION; HEAP; JROCKIT; JVM; MEMORY LEAK; OPTIMIZATION; OUT OF MEMORY;
OUTOFMEMORY; PERFORMANCE; PERMGEN; PROCESS MANAGEMENT; STACK SIZE; STACKOVERFLOWERROR; THREAD LOCAL AREA; VIRTUAL MACHINE; WINDOWS
Errors
BEA-101017; BEA-002911; BEA-000405; BEA-290064
Back to Top
Copyright (c) 2018, Oracle. All rights reserved. Legal Notices and Terms of Use Privacy Statement
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=353639437667911&id=1639475.1&_afrWindowMode=0&_adf.ctrl-state=nfsszcm29_767