r28 - 2015-05-26 - 18:14:07 - StephanieBagotYou are here: TWiki >  Deployment Web > DeploymentTroubleshooting > PerformanceTroubleshooting > HowToDetermineServerMemory

Does my server have enough memory?

Authors: PerformanceTroubleshootingTeam
Build basis: CLM 4.x and later

This page provides information to help you determine if your Rational Collaborative Lifecyle Management (CLM) server has sufficient memory and lists resources that can be used to monitor memory usage.

Having sufficient memory and managing memory usage is probably the most important factor in your system performance. One of the indications of a memory shortage in your server is when your system is paging. Paging is when your system runs out of memory and starts to move some parts of a process address space from RAM to disk in order to free the memory. Although some paging might be acceptable, frequent paging results in significant system performance degradation.

The lower bound

Performance of Java applications degrade significantly when parts of the Java heap is paged out by the operating system. A key precondition of ensuring reasonable performance from CLM applications is to configure the system hosting the application so that this never occurs.

The system that is hosting the CLM applications must be configured with sufficient memory to prevent each of the Java Virtual Machines (JVM) hosted on that system from being paged out.

At a minimum, this means allocating enough memory for the maximum heap size (the -Xmx setting) for each JVM, plus additional memory for the instructions, thread stacks, data, and native memory demands of the application(s) running in the JVM. So, for example, never host a JVM with an Xmx value of 4 GB on a system with physical memory of 4 GB. Because when the heap size grows to its maximum, there will not be enough memory for the rest of the Java process memory needs, let alone the memory needs of the operating system and other processes. Larger amounts of physical memory (for example 5 GB or 6 GB) might still not be enough, depending on the workload being presented to the JVM and its host operating system. In these cases, monitoring of the system is necessary to ascertain there is adequate physical memory allocated to the host system.

Monitoring memory usage

Monitoring of system memory depends on the operating system. An outline of how this can be performed is provided at the following links:
  1. IBM AIX
  2. Red Hat Linux
  3. SUSE Linux
  4. Microsoft Windows
  5. Oracle Solaris

Special considerations for Virtual Machines (VMs)

If using shared memory, make sure one of the following situations is true:
  1. Memory is dedicated to the VM on which the CLM application is hosted
  2. Enough memory is on the physical system hosting the VM to prevent the hypervisor from stealing memory from the CLM VM and triggering paging

To best serve CLM, because it forces the CLM VM to be independent of other activities on other guest VMs, dedicate memory and CPU resources to a VM hosting a CLM application.

Related topics:

External links:

  • None

Additional contributors: None

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r28 < r27 < r26 < r25 < r24 | More topic actions
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Ideas, requests, problems regarding the Deployment wiki? Create a new task in the RTC Deployment wiki project