Memory File Optimisation

By default, the PROIV Virtual Machine allocates enough initial memory to hold 1000 records for every PROIV Memory and Folder File used by a PROIV application. If more than a 1000 records are added to a given Memory or Folder File by a PROIV application, then the memory allocation for this file is automatically increased by an increment of a 1000 records.

Memory File Optimisation enables the tuning of the initial record allocation for Memory and Folder Files. This potentially reduces the memory footprint of PROIV applications by decreasing the initial record count allocation for all Memory and Folder Files to 50.

It can also be further fine tuned by using the MEMFILE_RECORD_COUNT setting in the pro4v[n].ini file.

For example:

# Memory Mapped and Server Folder Files – initial record allocation.

MEMFILE_RECORD_COUNT=40

 

 

Note: Any tuning of the MEMFILE_RECORD_COUNT adjusts the initial record allocation for all Memory and Folder Files.

Memory File Statistics

In addition, File Type memory requirements can be analysed by adding the INFO extension to the File System Interface Trace Options (FSITRACE) in the pro4v[n].ini.

To use the INFO option, add the following line to the pro4v[n].ini:

FSITRACE=INFO

This results in FSI trace files being generated for each run of a PROIV application.

For example:

FSI-TRACE: Started logging at Tue Nov 03 11:58:52 2009.

 

... INFO    ... File type: MEMORY, Name: Hotels

... INFO    ...  Record key size:  25 bytes (plus 23 byte overhead)

... INFO    ...  Record data size: 39 bytes (plus 1 byte overhead)

... INFO    ...  Record stats: Peak records used: 337, allocated: 1000

... INFO    ...  Peak space used: 29656 bytes, allocated: 88000 bytes. [33% occupancy]

... INFO    ...   [1 block(s) allocated @ 1000 records each, plus 8 byte block overhead]

 

... INFO    ... File type: FOLDER, Name: C:\Bookings\2011\June

... INFO    ...  Record key size:  15 bytes (plus 21 byte overhead)

... INFO    ...  Record data size: 15 bytes (plus 1 byte overhead)

... INFO    ...  Record stats: Peak records used: 104, allocated: 1000

... INFO    ...  Peak space used: 5408 bytes, allocated: 52000 bytes. [10% occupancy]

... INFO    ...   [1 block(s) allocated @ 1000 records each, plus 8 byte block overhead]

... INFO    ... Memory file statistics

... INFO    ...  Default records allocated per block: 1000. [Modify via MEMFILE_RECORD_COUNT]

... INFO    ...  4467K of heap space used at a peak allocation of 17480K (25% occupancy)

 

FSI-TRACE: Finished logging at Tue Nov 03 11:59:35 2009.

In the above example, the FSI tracing includes statistics for the Memory Mapped and Folder File, with a summary section at the end of the log file.

Comment on this topic

Topic ID: 700037