[ZBX-17694] High Memory utilization by preprocessing manager Created: 2020 May 08 Updated: 2024 Apr 10 Resolved: 2020 Jun 11 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Proxy (P), Server (S) |
Affects Version/s: | 4.4.7 |
Fix Version/s: | 4.0.22rc1, 4.4.10rc1, 5.0.2rc1, 5.2.0alpha1, 5.2 (plan) |
Type: | Problem report | Priority: | Major |
Reporter: | Igor Gorbach (Inactive) | Assignee: | Vladislavs Sokurenko |
Resolution: | Fixed | Votes: | 5 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||||
Issue Links: |
|
||||
Team: | |||||
Sprint: | Sprint 64 (May 2020), Sprint 65 (Jun 2020) | ||||
Story Points: | 1 |
Description |
Problem related with a gathering data from kafka_exporter. Then, I've tryed to modify the rules - clone Master Item to 5 ones (same logic with uniqe key) and distributed LLDs among them (2-3 LLD per one Master Item) I've inreased update interval for all master items to 10m, updated config cache on server and proxy - no result. After restarting the proxy - bursts of disposal are observing every 10 minutes, but memory is freed finally.
Steps to reproduce:
Result: High RAM Utilization by preprocessing manager process |
Comments |
Comment by Vladislavs Sokurenko [ 2020 May 08 ] |
Looks like preprocessing manager copy data from master item to dependent items before it starts sending those to workers and limit was increased from 999 to 29999. It should be elaborated if possible to start sending to workers if too much is already copied and then continuing when what is copied, is already processed. Other options is to look for is maybe there is no need to copy if data is not changed and pointer simply can be copied or string pool used. |
Comment by Vladislavs Sokurenko [ 2020 May 08 ] |
It could be a workaround to have more master items. |
Comment by Aaron [ 2020 May 14 ] |
Hello, I believe I'm hitting the same issue. In my case I'm retrieving a JSON from a cluster of controllers which weights around 200KB. That generates a set of item prototypes created from a master item which is a script that pulls that JSON. After the first run the preprocessing manager hogs around 2G of memory and doesn' free it up after time. This is a pre run and post run of the mater item.
This is the configuration I'm using:
As a workarond I deleted many many item prototypes and increased the proxy memory.
I've attached a json example as well.
Please let me know if any more info is needed to reproduce the issue. I believe this approach is great for monitorization but it's a shame it can't be totally exploited due this anomalous memory usage.
Aarón |
Comment by Vladislavs Sokurenko [ 2020 May 25 ] |
Implemented in pull request feature/ZBX-17694-5.0 |
Comment by Vladislavs Sokurenko [ 2020 May 25 ] |
If possible igorbach please check the development branch and let me know if it solves your issue, thanks ! |
Comment by Vladislavs Sokurenko [ 2020 Jun 03 ] |
Fixed in:
|