Common troubleshooting steps | Gather verbose Garbage Collection logs


Solving memory problems in WebSphere applications


+

Search Tips   |   Advanced Search

In Web applications based on WebSphere Application Server, such as WebSphere Commerce, memory utilization can impact system performance significantly. One of the most common memory problems is memory leak, which causes severe performance degradation. In theory, memory leaks should not happen in Java because it has Garbage Collection (GC). However, GC only cleans up unused objects that are not referenced anymore. Therefore, if an object is not used, but is still referenced, GC does not remove it, which leads to memory leaks in JVM problems. Beside memory leaks, other memory problems that you might encounter are memory fragmentation, large objects, and tuning problems. In many cases, these memory problems can cause the application server to crash. Many users first notice that application server performance gradually declines, and eventually crashes with OutOfMemory exceptions.

Memory problems are hard to troubleshoot because they have multiple causes. This article provides methods of identifying the root causes of different memory problems and their corresponding solutions. It also introduces a recommended methodology to detect and solve memory leak problems in WebSphere Commerce.

Figure 24-2 shows the entire process for determining and solving memory problems. There are five kinds of solution listed in this diagram, which are further explained in the following sections: