We need to acknowledge alerts from script with additional information in _add_value_7 and _add_value_8. We use function alertSetWait for this (ACK_bug.ctl). It was noticed that in this case there is a memory leak on the event manager.
I attached project for demonstration.
1. Run the ACK_bug.ctl script in the console. This script acknowledges alerts with the addition of add_value_7 and add_value_8.
2. Memorize value of memory that uses by event manager.
3. Run the panel GenerateAlarm.pnl, click on "START".
4. Wait until the number of generated alarms become 3000 (CAME Alarms == 3000), alarm generation will be disabled.
5. Look on value of memory that uses by event manager. Make sure that the memory of the event Manager has increased significantly (On my hardware > 350%)
I note that this project is small and uses a little memory. However, on real projects there is a memory leak of about 10Gb in 10 minutes.
WinCC OA 3.14 p28
Event-manager memory leak
Search
Event-manager memory leak
- Attachments
-
- TEST_ACK.zip
- (2.52 MiB) Downloaded 251 times
Re: Event-manager memory leak
If the number of pending alerts is increased the memory usage of the Event Manager will also increase. The Event Manager stores the information for pending alerts during runtime in memory.
I do not see a memory leak in that case.
If you do a simulation, e.g. 200 came alerts - 200 gone alerts - - no pending alerts - 200 came alerts - 200 gone alerts - no pending alerts .... and the memory usage increases with every loop then you have possibly found a memory leak.
As long as you are only increasing the number of pending alerts, without any gone alert, the memory usage will increase.
Also please check the settings for the alert class you have used. If the option "Acknowledge old alarms" is set you have to acknowledge all alert instances and not only the last one for a specific dp element.
Using this options leads to high number of pending alerts if there is no acknowledgement done.
Best Regards
Leopold Knipp
Senior Support Specialist
I do not see a memory leak in that case.
If you do a simulation, e.g. 200 came alerts - 200 gone alerts - - no pending alerts - 200 came alerts - 200 gone alerts - no pending alerts .... and the memory usage increases with every loop then you have possibly found a memory leak.
As long as you are only increasing the number of pending alerts, without any gone alert, the memory usage will increase.
Also please check the settings for the alert class you have used. If the option "Acknowledge old alarms" is set you have to acknowledge all alert instances and not only the last one for a specific dp element.
Using this options leads to high number of pending alerts if there is no acknowledgement done.
Best Regards
Leopold Knipp
Senior Support Specialist
-
zheleschikovav
- Posts: 6
- Joined: Tue Jul 12, 2016 4:08 pm
Re: Event-manager memory leak
1. Whe are changing 1 signal.
2. All alerts is gone! only 1 alert is active(Sql report show only one 1 alarm).
3. We don't use "Acknowledge old alarms"
The main topic is if we write "_add_value_7 and _add_value_8" and ack in one alertSet, we have leak. If we don't use _add_value it's, no leak.
2. All alerts is gone! only 1 alert is active(Sql report show only one 1 alarm).
3. We don't use "Acknowledge old alarms"
The main topic is if we write "_add_value_7 and _add_value_8" and ack in one alertSet, we have leak. If we don't use _add_value it's, no leak.
Code: Select all
alertSetWait(
(time)at,
count,
dpSubStr(id + "._ack_state", DPSUB_SYS_DP_EL_CONF_DET) + "._add_value_7"
"FullName"],
(time)at,
count,
dpSubStr(id + "._ack_state", DPSUB_SYS_DP_EL_CONF_DET) + "._add_value_8"
"PC name",
(time)at,
count,
id + "._ack_state",
ackType
);Re: Event-manager memory leak
I have installed the project and checked the settings for the alert class AC0000.
At this alert class the option "Acknowledge old alerts" is active.
When starting the alarm simulation using the panel "GenerateAlarm" the number of alarms increases as it is correct according to the given configuration.
In your answer you have written that this option is not used.
Have you modified the configuration between your first post and now?
Best Regards
Leopold Knipp
Senior Support Specialist
At this alert class the option "Acknowledge old alerts" is active.
When starting the alarm simulation using the panel "GenerateAlarm" the number of alarms increases as it is correct according to the given configuration.
In your answer you have written that this option is not used.
Have you modified the configuration between your first post and now?
Best Regards
Leopold Knipp
Senior Support Specialist