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

Configuration file properties

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

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.

Example configuration files

In the following configuration file, snapshots are generated every two seconds and written to the current working directory:

memProfConfig1
cadence 2
report-dir .

In the following example, snapshots are generated every 30 seconds and written to the memprofiles subdirectory of the current working directory. The description "production run" is included in the header of each .oemp output file to identify the origin of the recording.

memProfConfig2
cadence 30
report-dir memprofiles
Description "production run"
Note: The configuration file can be empty if you want to use the default settings.