Newsflash
|
QVS is Moving - On June 1, 2010, QVS will move to a new office location at 5950 Six Forks Road, Raleigh, NC 27609. The phone numbers stay the same as the main number is 919.676.1991. Click here for the release. |
| KB00109 TC/4690 Memory Use |
|
| Knowledge Base Articles | |
|
The information in this article applies to:
SUMMARYThis article provides additional details about memory use by various TC/4690 components. Summaries of TC’s memory requirements for estimating purposes are:
MORE INFORMATIONTC/4690 makes use of a significant amount of 4690 controller memory. Often, it uses more memory than any other single controller program. Because of this and because 4690 OS is a non-virtual memory operating system, TC’s memory footprint can be more of a question in 4690 than it is in other environments. The following describes, in some detail, the make-up of TC’s memory footprint.TC memory use fits into the following categories:
The formula for estimating TC’s total memory use is: TCBase + TCShMem + AppShMem + (x)(AppBase + AppData) where x = tcMaxTerms. TC currently supports two different shared memory options: tcshmem6 and tcshmem18. The following is additional information on each option: tcshmem6 - this option gives TC access to 6.5MB of shared memory. 4 MB is for TC’s use (TCShMem) and 2.5 MB is for use by application code segments (AppShmem). The 2.5 MB for application code allows a 2 MB application and a smaller application to run under TC at the same time. The 4 MB for TC includes a 1.5 MB base amount plus 2.5 MB for per-instance requirements. This module is designed to support up to 20 non-ACE terminal sales applications. It does not support ACE because ACE requires shared runtime libraries. tcshmem18 – this option gives TC access to 18MB of shared memory. 10 MB is for TC’s use (TCShMem), 4 MB is for application code segments and 4MB is for SRTL code segments (AppShMem). The 4 MB for application code supports two 2 MB sales applications. The 10 MB for TC includes a 1.5 MB base amount plus 7.5 MB for per-instance requirements. This module is designed to support 60 or more terminals (clients) of any application type. Conservative values for the various variables are as follows: TCBase 8 MB TCShMem 4 MB or 10 MB (tcshmem6 and tcshmem18, respectively) AppShmem 2.5 MB or 8 MB (tcshmem6 and tcshmem18, respectively) AppBase 1 MB AppData .5 MB As an example, for a system supporting 20 terminals of SA, TC/4690’s memory requirements would be: 8 MB + 4 MB + 2.5 MB + (20)(1 MB + .5 MB) = 44.5 MB Some notes about this example:
Memory Leak ProtectionA concern when running terminal sales on the controller is that if terminal sales has a memory leak, it has the potential for taking down other terminals and possibly other important controller applications. TC provides a mechanism to protect errant terminal sales applications from using up all controller memory. The same mechanism can keep TC from starting additional sales instances than the system has memory for even when there is no leak. The mechanism is fairly simple and is described later where the tcMinCtlrFreMemKB configuration keyword is defined.Controller Free Memory DisplayTC displays the amount of controller free memory as part of its message line on the 4690 background task screen. An example of TC’s status lines is:NAME=TC_BIN:TC4690.286 PARM= STATUS=ACTIVE MESSAGE=10 Terminals Active; FreeMem 8074 KB TC Memory Configuration ValuesConfiguration parameters for TC are found in the file: C:\tc46\qcdifile.mst. Configuration keywords that affect memory use:tcMaxTerms - maximum number of terminals/clients supported by TC. tcMinTerms – number of terminals that TC should pre-initialize. Pre-initializing all terminal instances is TC’s default behavior. Setting this value to something less than tcMaxTerms allows all stores to be configured with the same tcMaxTerms value but for less memory to be used in stores that have fewer terminals. This keyword is supported in TC/4690 release 2.0.99.45 or later. tcShMemDll – identifies the shared memory module that TC will use. tcMinCtlrFreeMemKB – specifies, in KB, the amount of controller memory that must be free for TC to grant application memory requests. If the amount of controller free memory is below this value, TC will fail application dynamic memory requests including requests to start a new instance. TC will also generate a SEV 1 error to the 4690 event log. This keyword is supported in TC/4690 release 2.0.99.45 or later. Tools For TC/4690 Memory AnalysisTC/4690 ships with a simple tool for looking at 4690 controller memory use. The tool, MEM.286, displays the same kind of memory use information that 4690’s CHKDSK does.Application memory use information is available by formatting TC “panic” files. To generate a .PAN file by force, run “tprocess –k1”. To format a .pan file run “e46dumpf systemt” against the generated systemt.pan file. The output file, systemt.out, contains a section on application memory use. TERMRPAM Memory UseTERMRPAM is a TC/4690 client that is used in real IBM point-of-sale terminals. TC/4690 with TERMRPAM can be used to extend the life of IBM POS terminals that have limited memory and CPU resources and/or which are attached to a slow LAN (such as a 4690 store loop).TERMRPAM is a relatively small program. It requires about 275 KB of memory and has no dynamic memory requirements. |
|
| < Prev | Next > |
|---|
