Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
on 04-10-2017 10:32 AM - edited on 11-30-2018 12:50 PM by Nina.Wolinsky
Use the following recommendations if high CPU usage occurs after attaching the AppDynamics agent:
If aggressive slow snapshot collection is enabled, the agent will retain selected call graph segments that precede the detection of a slow, stall or error transaction condition. Disabling the aggressive slow snapshot collection will significantly reduce overhead.
Editing the node level property "exclude-interceptors" to exclude hotspots will reduce CPU usage.
To determine if your agent has enabled hotspots, search the agent.* log files for "Enabled hotspots" and search the ByteCodeTransformer*.log for "Applying method interceptor diag.snapshot.BoundHotspot."
Name - exclude-interceptors
Description - exclude-interceptors
Type - String
Value - com.singularity.BoundHotspotInterceptor
Note: If there are already some class names added to this property, use a comma between them.
Example:
Too many async interceptors can cause high CPU utilization.
You may have unnecessary application framework classes instrumented that are not needed for visibility or monitoring. Get a list of classes/methods which are applying async interceptor by looking at the ByteCodeTransformer*.log
or search "async.handoffAsyncHandOffExecutionTracker." Exclude the packages 1-1 to improve CPU utilization.
The package/class can be excluded either from fork-config OR using node property.
<agent_install_dir>/<ver4.X.x>/conf/app-agent-config.xml
.Example:
<excludes filter-type="STARTSWITH" filter-value="<package/>"/> or fully qualified class name
Few Examples:
<excludes filter-type="STARTSWITH" filter-value="com.arjuna/"/>
<excludes filter-type="STARTSWITH" filter-value="com.netflix/"/>
<excludes filter-type="STARTSWITH" filter-value="com.bea/,com.weblogic/,weblogic/,com.ibm/,net/sf/,com/mchange"/>
Name: thread-correlation-classes-exclude
Description: thread-correlation-classes-exclude
Value:Type: <fully.qualified.package.ClassName>,<package.name>.*
Note: Excluding packages and classes could result in loss of visibility.
Spring Bean and EJB interceptors are CPU intensive. If you are not looking for any spring or EJB entry points, disable Transaction Detection.
Turbo exit points are special interceptors that handle a high volume of calls. To determine if these interceptors are causing high CPU usage, search the ByteCodeTransformer*.log
for "exit.TurboCustom." If the classes are not adding visibility, exclude them and disable the interceptors by creating node-level properties (see "Edit a node property" in step 2).
Name - exclude-interceptors
Description - exclude-interceptors
Type - String
Value - com.singularity.TurboCustomExitPointInterceptor
Name - disable-ootb-turbo-interceptors
Description - disable-ootb-turbo-interceptors
Type - boolean
Value - true
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form