EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB6446: How to increase the heap size of the Java Virtual Machine to handle large result data objects with MicroStrategy Web


Community Admin

Placeholder •


Introduction

The heap is a location in memory used by the Java Virtual Machine (JVM). From the Oracle Java Virtual Machine Specification Java SE 7 Edition, the heap is described as:


The Java Virtual Machine has a heap that is shared among all Java Virtual Machine threads. The heap is the run-time data area from which memory for all class instances and arrays is allocated. The heap is created on virtual machine start-up. Heap storage for objects is reclaimed by an automatic storage management system (known as a garbage collector); objects are never explicitly deallocated. The Java Virtual Machine assumes no particular type of automatic storage management system, and the storage management technique may be chosen according to the implementor's system requirements. The heap may be of a fixed size or may be expanded as required by the computation and may be contracted if a larger heap becomes unnecessary. The memory for the heap does not need to be contiguous. 

A Java Virtual Machine implementation may provide the programmer or the user control over the initial size of the heap, as well as, if the heap can be dynamically expanded or contracted, control over the maximum and minimum heap size. The following exceptional condition is associated with the heap:

- If a computation requires more heap than can be made available by the automatic storage management system, the Java Virtual Machine throws an OutOfMemoryError.

Strategy Web relies on a Java Virtual Machine to interact with the server operating system and to perform many of its functions. Consequently, the size of the JVM's heap can affect the Strategy Web deployment.
Strategy Professional Services offers a service to tune customer environments including the optimal heap size and garbage collector parameters. Many times, a Strategy Web environment that is running poorly can see an improvement in performance from this kind of tuning.
 

Tuning

Since the JVM heap size is not part of the Strategy Web application itself, it cannot be modified through the Strategy Web interface. Instead, certain application server or operating system level modifications must be made to adjust this parameter. If you need help getting started, first check with your application server vendor for the right set of instructions. For users who have Strategy Web deployed on Tomcat or IBM WebSphere, Strategy Technical Support offers the following guides:

  • For adjusting the JVM heap size on Tomcat, follow the instructions in KB407211: How to increase the Java Heap size in Tomcat Application Server.
  • For adjusting the JVM heap size on IBM WebSphere, please contact WebSphere administrator or refer to the following article from IBM: https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/java_heap_was?lang=en

For adjusting the JVM heap size on IIS 7.x running on a 32-bit or 64-bit machine, follow the below instructions:

  • Launch regedit.exe as a machine administrator and navigate to the registry key that controls the JVM options:
    • For a 64-bit machine, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Strategy\JNI Bridge 64\Configuration\JVM Options\HeapMaxSize, like shown below:


       
    • For a 32-bit machine, navigate to HKEY_LOCAL_MACHINE\Software\Strategy\JNI Bridge\Configuration\JVM Options\HeapMaxSize
  • Change the value of the HeapMaxSize setting using the format ###M where M indicates megabytes. For example, to change this value to 2 GB, use 2048M.
  • This change requires restarting the Java Virtual Machine in addition to IIS. You can do this by restarting the Web Application Pool, or by launching an instance of cmd.exe as a machine administrator and typing in the command iisreset, like shown below:

ka04W000000uGANQA2_0EM44000000296d.jpeg

Registry Modification:
WARNING:
Modifying registry values incorrectly may cause serious, system-wide problems that may require the re-installation of the Microsoft Windows operating system. Any edit of the registry is done at the user`s own risk. Since these are user-initiated changes, they are not covered by any Strategy warranty. If using a Microsoft Windows operating system, the user should backup the registry and/or update an Emergency Repair Disk (ERD) prior to alterations.


Comment

0 comments

Details

Knowledge Article

Published:

March 30, 2017

Last Updated:

March 30, 2017