Salesforce

What is the temporary file with the prefix RCD used for?

« Go Back

Information

 
TitleWhat is the temporary file with the prefix RCD used for?
URL NameP180223
Article Number000163932
EnvironmentProduct: OpenEdge
Version: 10.1C, 10.2x, 11.x, 12.x
OS: All Supported Operating Systems
Other: rcd*
Question/Problem Description
What is a RCD temporary file used for?
Why do the RCD files grow?
When should RCD files grow?
Can the growth of RCD files on disk be limited?
What is the temporary file with a prefix of RCD used for?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The file with a prefix of RCD is an on-disk client temporary r-code swapping file. There is no memory mapping involved in the creation of these files.
  1. Prior to OpenEdge 10.1C, the srt system file is used for both large sorts and keeping a cache of .r's used during an ABL session.
  2. In OpenEdge 10.1C a new client temporary file, rcd, was introduced to offload some of the functionality of the srt file.  The srt file can grow to 2^63 bytes if permitted by the underlying operating system and disk availability. It no longer caches used r-code and is only used for sorting on the client or server side.   Used r-code is cached in the rcd system file which has a 2GB filesize limit.
The AVM swaps unlocked r-code segments to the rcd file from the in-memory r-code execution buffer when space is needed for loading new r-code segments.  The  memory utilized by the r-code execution buffer is governed by -mmax, which is a soft limit (unless restricted with the -hardlimit parameter).  
  • -mmax is increased during session execution when there are no unlocked segments of sufficient size to swap to the rcd file.  Increasing the initial -mmax parameter depending on available memory and the size of the application r-code, will cause less disk i/o and reduce the size of rcd files. For further information refer to Article  What is the -mmax parameter?     
  • The more segments swapped, the larger the rcd file will grow. For example refer to Article  Temp file disk space gets all used by rcd* files    When the size of rcd files is a concern, procedure libraries will reduce the .rcd file size.
  • The .rcd files only expand, they do not shrink again and are removed once the session terminates which is in-line with all client-temp files. A file should not be stored more than once in the .rcd file, no matter how many instances of the program/class are running.
To identify r-code swapping from -mmax:

Output from progetstack will show the running instances, not the number of times a program is called from a .rcd file.

For information on which programs are being frequently swapped in the .rcd file,
  1. The output from -y and -yx can be used to identify frequently used programs that could be put into a procedure library rather
  2. Enable client logging with entrty types:  4GLTrace,FileID.  4GLTrace will show which procedures are run, if these trigger activity on the session's RCD* file or a .pl file that indicates segments are being swapped.
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 6:55 AM

Powered by