The AVM is enabled for memory profiling with the Profile Memory (-profileMemory) startup parameter.

You specify a configuration file when invoking -profileMemory:

-profileMemory config-file
For example:
pro -profileMemory memProfConfig -p test.p

The configuration file contains properties to initialize the AVM for memory profiling:

Table 1. Configuration file properties
Property Default Description
cadence N 10 seconds Specifies how often (in seconds) to take a regular snapshot. N is a non-negative value indicating the number of seconds between snapshot generations.

If N is non-zero, a snapshot is generated at least N seconds after the previous snapshot generation. However, a snapshot is not generated if there are no changes to the memory profile since the prior snapshot (for example, when the application is paused or waiting for user input).

If N is set to 0, then there is no regular snapshot generation. In this case, the only snapshots are those generated programmatically and those generated by the system.

Note: System-generated snapshots include the _AUTO, _EndOfRequest, _PreCleanUp, and _Exit snapshots.
Description string Empty string ("") Can be used to distinguish one .oemp report from another and/or provide useful information about the origin of the .oemp file. string is a user defined description. It can be a single token or a quoted string. The maximum length retained is 80 characters. Anything beyond that is truncated. The provided description is output as a field in the header of the .oemp file.
report-dir directory Current working directory The path to a directory where memory profile snapshots are written to an output recording file. The path can be absolute or relative. If it is a relative path, it is relative to the current working directory.

If directory is not specified, the current working directory is used.

SnapshotEndOfRequest R 10
Note: Applies to Progress Application Server (PAS) for OpenEdge only.

R is a non-negative value indicating the frequency with which to generate an _EndOfRequest snapshot.

For example, if R is 5, an _EndOfRequest snapshot is generated at the end of every 5th request. If R is 1, then an _EndOfRequest snapshot is generated at the end of every request. If R is 0, then no _EndOfRequest snapshots are generated.

All property names are case insensitive.

A # character in the first column of a line in the config-file indicates a comment.

If a property value is missing or invalid, the AVM issues a warning but memory profiling is still enabled using the default value.

Table 2. Example configuration file
memProfConfig
cadence 2
report-dir

In this example, snapshots are generated every 2 seconds and written to the current working directory (since a directory path was not specified).

Note: The configuration file can be empty if you want to use the default settings.