This page describes how to optionally install a Memory Analysis Server if it is part of your deployment.
The AppMon Memory Analysis Server (formerly Analysis Server) is used solely for post-processing memory snapshots. The name of this component has been changed to accurately reflect its purpose and prevent confusion. It should not be confused with the AppMon Frontend Server, which serves other analysis data to the AppMon Client.
What to know before you install
- The Memory Analysis Server can be installed with all the other components through the full installation Windows
.msifile, or separately with a custom installation on Windows or the
dynatrace-analysisserver-<version><platform>.jarinstallers for the Memory Analysis Server on Linux and Unix. See the Deployment Guide for recommendations for the type of installation you should use.
- One Memory Analysis Server can be shared by multiple AppMon Server instances. If the Servers are installed on different machines, a high-speed network connection between the Memory Analysis Server and AppMon Server is required.
The *NIX AppMon installer requires an Oracle / Sun or IBM JVM 1.6 or later on the target machine to run the installer process. On Linux (and Windows) AppMon components use a private JVM 1.7 at runtime.
The Linux Memory Analysis Server installation file is named
dynatrace-analysisserver-<version>-linux-x86.jar, implying 32-bit on the x86 platform if you look at the other namings, but contains both bitnesses.
- Because memory snapshot analysis can require a considerable amount of memory, it should be done using this component. The Memory Analysis Server is automatically used for post-processing if it is running. If you are not using a production installation and the Memory Analysis Server is not running, the snapshot is post-processed by the AppMon Server. For production installations, a Memory Analysis Server is mandatory.
The default configuration expects the Memory Analysis Server to run on the same machine as the AppMon Server. If another machine is used, you must configure the location in the Services pane of the AppMon Server Settings dialog box. If you do not post-process memory snapshots regularly, you can start the AppMon Memory Analysis Server on demand.
Install the Memory Analysis Server
By default, the Memory Analysis Server installs into the
dynaTrace <version> directory on Windows or
dynatrace-<version> on Linux or Unix. This directory is referred to as
DT_HOME. The following table shows the location of relevant files.
||The executables and the main configuration file
The amount of memory required for post-processing leak analysis memory snapshots mainly depends on the number of objects on the heap. For fully cached post-processing, required memory equals the heap size of the application for which the snapshot was taken. Although post-processing with less memory is possible, running with less than full-cache memory is not recommended.
If the Memory Analysis Server is not already installed, download the full installation package and run a custom installation.
The default location is
%ProgramFiles%\dynatrace\dynaTrace <version>. The installer creates Windows Start menu entries and registers a Windows service for the Memory Analysis Server process.
If the Memory Analysis Server was not installed with the full package, download the specialized Linux installation JAR file. The
x86 in the file name refers to the platform. You are prompted to specify 32-bit or 64-bit for the installation.
To install, you need a current Java Runtime Environment (JRE 1.6 or later) installed on your system. The Memory Analysis Server runs with a private JRE 1.7 by default.
It is recommended that you run the AppMon Memory Analysis Server not as root user, but with a dedicated account. To avoid directory permission issues, create the dedicated user and the target directory before beginning the installation, and run the installation in the user context. The installer prompts for 32-bit or 64-bit and for the installation directory. The default location is the current directory.
Execute the following command:
java -jar dynatrace-analysisserver-7.0.0-linux-x86.jar
Before starting the AppMon Memory Analysis Server, adjust the memory settings in the main configuration file
dtanalysisserver.ini. Set the option
-Xmx to the maximum heap size of applications + 25% to analyze.
The following is an example of the code to add to
... -Xmx2048M -Xms128M -XX:MaxPermSize=128M -XX:PermSize=128M ...
-XX:+UseCompressedOops automatically appends when you use the 64-bit installer.
Set up Memory Analysis Server communication
The Memory Analysis Server listens on a specified port for incoming connections from the AppMon Server. To change the default port number, add
-Dcom.dynatrace.diagnostics.listen=[<ip>]:<port> to the
Starting and stopping the Memory Analysis Server
On Windows, you can start the Memory Analysis Server service from the Start menu, the command line, or the Services control panel. The registered service name is
Dynatrace Memory Analysis Server <version>. The service runs with restricted permissions as Local Service.
If you change any output directories (such as the session directory), make sure the AppMon Server service has sufficient privileges in the new directory.
To start the Memory Analysis Server from the command line, change to the
DT_HOME and execute:
dtanalysisserver.exe -service start
To list all the available options, execute
dtanalysisserver.exe -?. This displays the following:
dynaTrace Analysis Server Version: 188.8.131.525 - built 2016-02-22 19:07:10 +0100 Copyright (C) 2004-2017, Dynatrace Usage: dtanalysisserver [options] Available options: -?, -h, --help Print this help message -v Display version information -loglevel [0..8] Set loglevel, valid values are: [0..8] or [finest|finer|fine|config|info|warning|severe|debug|none] Default setting: 4 (info) -listen [<ip>:]<port> Listen for dynaTrace Server instances on [<ip>:]<port> -service [install | uninstall | start | stop | list(all)] Install/uninstall Windows Service (uninstall might require you to log off) -basedir <dir> Set working directory for application -logdir <dir> Override default log directory (command line argument only) -ini <config> ini file to use, default is dtanalysisserver.ini A value of 'ignore' skips reading the .ini file. -timeout <sec> Timeout value for watchdog feature, 0 turns the watchdog off. Default value: 180, valid value range [30..86400] sec -watchdogaddress 127.0.0.1 IP address to be used for watchdog feature -portrange <n>[:<m>] Port range to be used by watchdog feature By default a port within range 50000:65535 is used -vm <javaVM> The Java VM to be used for launching the application -startup <startup.jar> The startup jar to execute. The default is to find the plugins/org.eclipse.equinox.launcher jar with the highest version number. -ea[:<package>"..."|:<class>] Enable assertions (assertions are disabled by default). A <package> or <class> name can be specified (cf. Java docs) -Dosgi.\*=<value> Set arbitrary OSGI configuration parameters -D*=<value> Set properties for Java application -X*=<value> Set (non standard) options for Java VM
The syntax for the Memory Analysis Server is:
<DT_HOME>/init.d/dynaTraceAnalysis start | stop | version | status
Do not log-rotate the Memory Analysis Server's log files. This is done automatically by the Server.
Parallel startup of Server and Analysis Server
If you have the AppMon Server and Memory Analysis Server installed on the same machine (sharing the same core executables), it is not possible to start both servers at the same time, for example using a Linux shell script.
In this case, there are these possible solutions:
- Install the Memory Analysis Server standalone on the machine.
- In your shell script, first start the Memory Analysis Server, wait a short time (10 seconds usually suffices), and then start the AppMon Server.