Applies To:
  • CitectSCADA 1.00, 1.01, 1.10, 1.11, 1.20, 2.00, 2.01

Question: Should I use Windows Virtual Memory with Citect? 

Virtual memory allows you to run more programs, or use more memory than you system physical memory would usual allow. The drawbacks are the disk space required for the virtual memory swap file, and the decreased execution speed when page swapping is required. However, it's usually better to run a program slowly in virtual memory - than to not be able to run it at all.

As the Citect runtime is a real time application, it needs to process events in a timely manner, and as fast as possible. Because of this, it is better that Citect runtime should avoid using virtual memory as it will slow down Citects operation. Some parts of Citect are considered critical to its operation and will never be paged out to virtual memory. On startup, Citect will page lock its code and associated data into memory. (When Citect page locks itself it is telling Windows to never page out that code or data to the virtual memory system.) Citect page locks only the minimum amount of memory for its critical processes. Your database configuration, including alarms, trends, reports, Cicode and display pages are never locked - this data could be paged out to virtual memory under low memory conditions. (For example, under low physical memory conditions, your alarms could be paged out to virtual memory and so the processing speed of the alarms will be reduced.)

To setup Windows virtual memory use the Control Panel with the Enhanced Icon. The Enhanced Dialog has a virtual Memory button to display the setup of the virtual memory. This Dialog shows the current configuration of the Virtual memory. Press the Change button if you want to change your setup of virtual memory. See your Windows documentation for full details on setting up the virtual memory.

From the virtual memory setup in the Control panel, you can see you virtual memory setup. This shows the size of the virtual memory file and its type. The type can be Permanent, Temporary or None.

You should always use a permanent swap file. Permanent swap files are faster than Temporary swap files and it is better to have a small amount of virtual memory than none at all. The swap file should not be bigger than 8,196 Kb, because if all this virtual memory was being used, the performance of Citect would be seriously degraded. By having a permanent swap file you allow your computer to degrade gracefully - as it runs out of memory Citect performance will degrade slowly. If you did not have any virtual memory, the current operation would fail and you would get a sudden drop off in performance when Citect ran out of memory. The Citect Development team has also found that Windows is unstable under low memory conditions, especially if communication on a network and a permanent swap file will help this problem .

Note that this discussion of virtual memory only applies to the Citect runtime system. It does not apply to the configuration side of Citect as the configuration software is not real time. If you are only using your computer to configure Citect then use any virtual memory setup you like.

See also Q1034 for discussion of physical memory and Q1178 for physical memory errors.