Skip to main content

A look on Java Garbage Collector..

A garbage collector is responsible for
• allocating memory
• ensuring that any referenced objects remain in memory, and
• recovering memory used by objects that are no longer reachable from references in executing code.
Objects that are referenced are said to be live. Objects that are no longer referenced are considered dead and are termed garbage. The process of finding and freeing (also known as reclaiming) the space used by these objects is known as garbage collection.

Garbage collection solves many, but not all, memory allocation problems. You could, for example, create objects indefinitely and continue referencing them until there is no more memory available. Garbage collection is also a complex task taking time and resources of its own.
The precise algorithm used to organize memory and allocate and deallocate space is handled by the garbage collector and hidden from the programmer. Space is commonly allocated from a large pool of memory referred to as the heap.
The timing of garbage collection is up to the garbage collector. Typically, the entire heap or a subpart of it is collected either when it fills up or when it reaches a threshold percentage of occupancy.
The task of fulfilling an allocation request, which involves finding a block of unused memory of a certain size in the heap, is a difficult one.
We have already discussed regarding the Java Heap Memory Sizing in my previous posts, moving ahead lets discuss regarding the Java Garbage Collector Sizing for Hyperion Applications in Windows and Linux
Before you start to tune the command line arguments for Java be aware that Sun’s HotSpot™ Java Virtual Machine has incorporated technology to begin to tune itself. This smart tuning is referred to as Ergonomics. Most computers that have at least 2 CPU’s and at least 2 GB of physical memory are considered server-class machines which means that by default the settings are:
·         The -server compiler
·         The -XX:+UseParallelGC parallel (throughput) garbage collector
·         The -Xms initial heap size is 1/64th of the machine’s physical memory
·         The -Xmx maximum heap size is 1/4th of the machine’s physical memory (up to 1 GB max).
Please note that 32-bit Windows systems all use the -client compiler by default and 64-bit Windows systems which meet the criteria above will be be treated as server-class machines.
Garbage Collector Policy
The Java™ Platform offers a choice of Garbage Collection algorithms. For each of these algorithms there are various policy tunables. Instead of repeating the details of the Tuning Garbage Collection document here suffice it to say that first two choices are most common for large server applications:
·         The -XX:+UseParallelGC parallel (throughput) garbage collector, or
·         The -XX:+UseConcMarkSweepGC concurrent (low pause time) garbage collector (also known as CMS)
·         The -XX:+UseSerialGC serial garbage collector (for smaller applications and systems)



Popular posts from this blog

Planning Admin Extension

Planning 11.1.2.3 – Smart View metadata management One of the new features in planning 11.1.2.3 is the ability to manage dimensional metadata through Smart View  • The new Hyperion Planning Admin Extension for Smart View allows Oracle Hyperion Planning administrator users to import and work with metadata in Smart View. • With this extension, Planning administrators can use Oracle Hyperion Smart View for Office applications to perform these tasks: 1. Add, edit and import existing Oracle Hyperion Planning dimensions and members, including moving members and designating members as shared in Smart View 2. Create and refresh cubes • The extension can be downloaded from the Tools menu in workspace. • This will download a file called “ PlanningSVExtension.msi ” which is 1.4mb in size and can be easily installed by running the msi . Once you Install Planning Admin Extension A Smart View Set up Wizard opens up for the extension installation. Click on Next :

Shared Connection and Private Connection

You connect to data sources through shared or private connections. Shared Connections •Shared connections are stored in a central location and are available to multiple users through the Smart View Panel. You cannot add, edit, or rename shared connections, but you can save them as private connections, which you can edit and rename. Private Connections •Private connections are those that you create by saving a shared connection to your local computer or by entering a URL to a provider that is not configured for shared connections. When you create a private connection, it becomes the active connection. Shared Connections : 1. From the Smart View ribbon, click  Panel . 2. From Smart View Home or from the menu displayed when you click the arrow next to Home button, do one of the following: • Click a connection name under  Recently U sed . You can click    to pin items to this list. • Select  Shared Connections  to open the Shared Connections panel, where you s

Import Security : Planning

There will be a huge number of requests to grant or remove security access for users. For one or two changes, it is simple task, click on member and then assign access and grant permission. It becomes tiresome when we need to make changes for large number of members. It involves considerable amount of time. Automating the security changes saves considerable amount of time. The ImportSecurity utility in planning loads access permissions for users or groups from a text file into Planning. Importing access permissions using Import security utility overwrites existing access assignments only for imported members, users, or groups. All other existing access permissions remain intact. The SL_CLEARALL parameter clears all existing access permissions. ImportSecurity utility is located at /Hyperion/Oracle/Middleware/user_projects/epmsystem1/Planning/planning1 on Planning server as shown in the following picture: Steps for importing access permissions: STEP1 :Create a text