ISSUE: Our Win CC OA production server shows 97%+ RAM utilization when disconnected to either the S7 PLC, network switch or field equipment.
REASON: A control script (CONTROL MANAGER) that reads analogue data from the equipment causes the memory usage to balloon when communication is down.
TEMPORARY FIX: The only way to fix this is restarting the CONTROL MANAGER manually on the server. In which case the the memory usage returns to normal.
I believe this can be fixed by changing the script (ie. relying more on dpGet instead of dpConnect etc), however, the system is in production and making changes requires us to understand how garbage collection works within Win CC OA.
Is there any documentation or can someone provide a brief explanation on Win CC OA's Garbage Collection Policy?
I'm aware that in Java this is handled automatically while for C, a library is needed. What is the case for Win CC OA?
Before you think about those technical details you first should check which process is using a lot of RAM.
If the process is known you can do further investigation for this process.
Best Regards
Leopold Knipp
Senior Support Specialist
Thanks for the quick reply.
The Windows process that is taking up a lot of memory is "WCCOActrl Executable" the process that correlates to the CONTROL MANAGER.
Is this a step in the right direction?
There are possibly several CTRL managers running in your system.
By the process ID you can check which of them is consuming memory. If the manager is known you have to check the code in the scripts which are executed by this CTRL manager.
Best Regards
Leopold Knipp
Senior Support Specialist
As mentioned in the original question above; the control manager which is in question has already been identified.
Also, what triggers the memory consumption is understood as well.
The question is; how is memory management controlled within Win CC OA?
We can not do tests in the production environment so we were hoping there was some insight regarding this.
If you cannot do tests in the production environment you can try to reproduce the problem in a test environment.
When you need further assistance in analyzing the script please get in contact with your common WinCC OA support.
Without knowing all the details done in the script it is hard to identify possible causes for the increased memory usage.
Best Regards
Leopold Knipp
Senior Support Specialist