Strange Memory consuption pattern Decode Ondemand vs KeyFrames
Posted: Mon May 09, 2022 9:48 pm
Hi again!
1.37.15_20220507113926-focal
I've noticed strange zmc behavior when Decoding is changed between KeyFrames and Ondemand, and when there's no Decoding demand (Record always, passthrough, no Analysis and no cameras are watched Live - "pure" DVR setup).
KeyFrames -> Ondemand:
CPU goes DOWN for most zmc processes >x2 this is understandable. Stays the same after. But for some znc processes it goes up, this is strange..
Memory for most zmc processes goes UP about x2 - this is strange. Stays the same after. Goes down for some zmc processes, this is also strange, although it's what I was expecting to acheive
The same, but mirrored, happens on the swithcback.
Why this is happening?
Zabbix Graph for zmc processes attached (system with 12 cameras connected. Bulk change set Decoding='Ondemand' in zm.Monitiors table and then systemctl restart zoneminder at ~ 23:03:00. Bold lines are the sum of %CPU or %MEM for all zmc processes (right axis). All other lines reflect CPU and Mem metrics for individual zmc processes (left axis). Recording SectionLength=600.
All metrics are collected once per minute by parsing ps output
1.37.15_20220507113926-focal
I've noticed strange zmc behavior when Decoding is changed between KeyFrames and Ondemand, and when there's no Decoding demand (Record always, passthrough, no Analysis and no cameras are watched Live - "pure" DVR setup).
KeyFrames -> Ondemand:
CPU goes DOWN for most zmc processes >x2 this is understandable. Stays the same after. But for some znc processes it goes up, this is strange..
Memory for most zmc processes goes UP about x2 - this is strange. Stays the same after. Goes down for some zmc processes, this is also strange, although it's what I was expecting to acheive
The same, but mirrored, happens on the swithcback.
Why this is happening?
Zabbix Graph for zmc processes attached (system with 12 cameras connected. Bulk change set Decoding='Ondemand' in zm.Monitiors table and then systemctl restart zoneminder at ~ 23:03:00. Bold lines are the sum of %CPU or %MEM for all zmc processes (right axis). All other lines reflect CPU and Mem metrics for individual zmc processes (left axis). Recording SectionLength=600.
All metrics are collected once per minute by parsing ps output
Code: Select all
~$ ps -C zmc -o %mem -o "|%C|" -o cmd
%MEM|%CPU|CMD
6.7| 1.6|/usr/bin/zmc -m 1
7.8| 1.8|/usr/bin/zmc -m 2
6.8| 1.7|/usr/bin/zmc -m 3
6.6| 2.1|/usr/bin/zmc -m 4
7.9| 2.1|/usr/bin/zmc -m 5
7.8| 2.1|/usr/bin/zmc -m 6
8.2| 1.9|/usr/bin/zmc -m 8
7.0| 1.8|/usr/bin/zmc -m 9
11.1| 2.3|/usr/bin/zmc -m 11
11.0| 2.7|/usr/bin/zmc -m 14
0.1| 1.4|/usr/bin/zmc -m 15
0.1| 1.3|/usr/bin/zmc -m 16