The memory utilization for a particular service on the
AppNode depends on the complexity of service implementation, payload, workload, the number of services deployed on the
AppNode, CPU or memory resources made available to the
AppNode.
Prerequisites
Assuming all the components of the engine are tuned for debugging high memory utilization issues on the
AppNode, collect the following data that helps in further debugging and understanding the issues.
Procedure
-
Capture heap dump on the
AppNode when memory issues are observed on the
AppNode.
The heap dump can be analyzed using memory analyzer tool for checking memory leaks and top components of memory.
-
Capture
jstat data for checking the allocation and utilization of different memory pools for 5 minutes run.
jstat –gc <PID of appnode> > jstat_gc.txt
-
Capture thread dumps for analyzing the thread state and calls. Capture 5 thread dumps at an interval of 5 seconds each. Redirect all the collected threads dumps to separate files.
-
Capture top CPU consuming threads by using
jvmtop utility for 5 minute run.
For more information about
jvmtop utility, see support article
KB000034702.
./jvmtop <PID of appnode> > JVM_topthreads.txt
-
Capture method level CPU profiling data using
jvmtop for 5 minutes run.
./jvmtop --profile <PID of appnode> > JVM_CPUProfile.txt
-
Capture
AppNode logs for the test run duration.
-
Capture the CPU and memory utilization data of the
AppNode for 5 minutes run.
-
Capture the AppNode
config.ini and TRA file of the AppNode. This helps analyze the JVM parameters and other engine tuning parameters.
-
Capture system configurations of servers such as CPU details, RAM, and number of cores where
TIBCO ActiveMatrix BusinessWorks™
AppNode, external services, and load generator are running. Capture details of
/proc/meminfo and
/proc/cpuinfo files.
cat /proc/meminfo and cat /proc/cpuinfo
Copyright © Cloud Software Group, Inc. All rights reserved.