Install Memory Analysis Server

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 .msi file, or separately with a custom installation on Windows or the dynatrace-analysisserver-<version><platform>.jar installers 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.

Note

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

Directory layout

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.

Relative path Description
DT_HOME The executables and the main configuration file dtanalysisserver.ini.
DT_HOME\log\analysisserver Log files.

Memory requirements

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.

Configure memory

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 dtanalysisserver.ini.

...
-Xmx2048M
-Xms128M
-XX:MaxPermSize=128M
-XX:PermSize=128M
...

The -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 dtanalysisserver.ini file.

Starting and stopping the Memory Analysis Server

Windows

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.

Note

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: 6.3.0.1305 - 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

Linux Daemon

The syntax for the Memory Analysis Server is:

<DT_HOME>/init.d/dynaTraceAnalysis start | stop | version | status

Note

Do not log-rotate the Memory Analysis Server's log files. This is done automatically by the Server.

Additional considerations

Automatic installation

You can automate the installation with Ansible, Chef, or Puppet. Click the link below for more detailed information.

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.