On 24 Jan 21:43, Victor Hadianto wrote:
> > Also, what version(s) of prometheus are these two instances?
> 
> They are both the same:
> prometheus, version 2.37.0 (branch: HEAD, revision:
> b41e0750abf5cc18d8233161560731de05199330)

Please update to 2.37.5. There has been a memory leak fixed in 2.37.3.



> 
> > The RAM usage of Prometheus depends on a number of factors. There's a
> calculator embedded in this article, but it's pretty old now:
> https://www.robustperception.io/how-much-ram-does-prometheus-2-x-need-for-cardinality-and-ingestion
> 
> Thanks for this, I'll read & play around with that calculator for our
> Prometheus instances (we have 9 in various clusters now).
> 
> Regards,
> Victor
> 
> 
> On Tue, 24 Jan 2023 at 21:03, Brian Candler <[email protected]> wrote:
> 
> > Also, what version(s) of prometheus are these two instances? Different
> > versions of Prometheus are compiled using different versions of Go, which
> > in turn have different degrees of aggressiveness in returning unused RAM to
> > the operating system. Also remember Go is a garbage-collected language.
> >
> > The RAM usage of Prometheus depends on a number of factors. There's a
> > calculator embedded in this article, but it's pretty old now:
> >
> > https://www.robustperception.io/how-much-ram-does-prometheus-2-x-need-for-cardinality-and-ingestion
> >
> > On Tuesday, 24 January 2023 at 09:29:47 UTC [email protected] wrote:
> >
> >> When you say "measured by Kubernetes", what metric specifically?
> >>
> >> There are several misleading metrics. What matters is
> >> `container_memory_rss` or `container_memory_working_set_bytes`. The
> >> `container_memmory_usage_bytes` is misleading because it includes page
> >> cache values.
> >>
> >> On Tue, Jan 24, 2023 at 10:20 AM Victor H <[email protected]> wrote:
> >>
> >>> Hi,
> >>>
> >>> We are running multiple Prometheus instances in Kubernetes (deployed
> >>> using Prometheus Operator) and hope that someone can help us understanding
> >>> why the RAM usage in a few of our instances are unexpectedly high (we 
> >>> think
> >>> it's cardinality but not sure where to look)
> >>>
> >>> In Prometheus A, we have the following stat:
> >>>
> >>> Number of Series: 56486
> >>> Number of Chunks: 56684
> >>> Number of Label Pairs: 678
> >>>
> >>> tsdb analyze has the following result:
> >>>
> >>> /bin $ ./promtool tsdb analyze /prometheus/
> >>> Block ID: 01GQGMKZAF548DPE2DFZTF1TRW
> >>> Duration: 1h59m59.368s
> >>> Series: 56470
> >>> Label names: 26
> >>> Postings (unique label pairs): 678
> >>> Postings entries (total label pairs): 338705
> >>>
> >>> This instance uses roughly between 4Gb - 5Gb of RAM (measured by
> >>> Kubernetes).
> >>>
> >>> From our reading, each time series should use around 8kb of RAM so for
> >>> 56k series should be using a mere 500Mb.
> >>>
> >>> On a different Prometheus instance (let's call it Prometheus Central) we
> >>> have 1,1m series and it's using 9Gb - 10Gb which is roughly what is
> >>> expected.
> >>>
> >>> We're curious about this instance and we believe it's cardinality. We
> >>> have a lot more targets in Prometheus A. I also note that the Posting
> >>> entries (total label pairs) is 338k but I'm not sure where to look for 
> >>> this.
> >>>
> >>> The top entries from tsdb analyze is right at the bottom of this post.
> >>> The "most common label pairs" entries have alarmingly high count, I wonder
> >>> if this contributes the high "total label pairs" and consequently higher
> >>> than expected RAM usage.
> >>>
> >>> When calculating the expected RAM usage, is the "total label pairs" is
> >>> the number we need to use rather than the "total series"
> >>>
> >>> Thanks,
> >>> Victor
> >>>
> >>>
> >>> Label pairs most involved in churning:
> >>> 296 activity_type=none
> >>> 258 workflow_type=PodUpdateWorkflow
> >>> 163 __name__=temporal_request_latency_bucket
> >>> 104 workflow_type=GenerateSPVarsWorkflow
> >>> 95 operation=RespondActivityTaskCompleted
> >>> 89 __name__=temporal_activity_execution_latency_bucket
> >>> 89 __name__=temporal_activity_schedule_to_start_latency_bucket
> >>> 65 workflow_type=PodInitWorkflow
> >>> 53 operation=RespondWorkflowTaskCompleted
> >>> 49 __name__=temporal_workflow_endtoend_latency_bucket
> >>> 49 __name__=temporal_workflow_task_schedule_to_start_latency_bucket
> >>> 49 __name__=temporal_workflow_task_execution_latency_bucket
> >>> 49 __name__=temporal_workflow_task_replay_latency_bucket
> >>> 39 activity_type=UpdatePodConnectionsActivity
> >>> 38 le=+Inf
> >>> 38 le=0.02
> >>> 38 le=0.1
> >>> 38 le=0.001
> >>> 38 activity_type=GenerateSPVarsActivity
> >>> 38 le=5
> >>>
> >>> Label names most involved in churning:
> >>> 734 __name__
> >>> 734 job
> >>> 724 instance
> >>> 577 activity_type
> >>> 577 workflow_type
> >>> 541 le
> >>> 177 operation
> >>> 95 datname
> >>> 53 datid
> >>> 31 mode
> >>> 29 namespace
> >>> 21 state
> >>> 12 quantile
> >>> 11 container
> >>> 11 service
> >>> 11 pod
> >>> 11 endpoint
> >>> 10 scrape_job
> >>> 4 alertname
> >>> 4 severity
> >>>
> >>> Most common label pairs:
> >>> 23012 activity_type=none
> >>> 20060 workflow_type=PodUpdateWorkflow
> >>> 12712 __name__=temporal_request_latency_bucket
> >>> 8092 workflow_type=GenerateSPVarsWorkflow
> >>> 7440 operation=RespondActivityTaskCompleted
> >>> 6944 __name__=temporal_activity_execution_latency_bucket
> >>> 6944 __name__=temporal_activity_schedule_to_start_latency_bucket
> >>> 5100 workflow_type=PodInitWorkflow
> >>> 4140 operation=RespondWorkflowTaskCompleted
> >>> 3864 __name__=temporal_workflow_task_replay_latency_bucket
> >>> 3864 __name__=temporal_workflow_endtoend_latency_bucket
> >>> 3864 __name__=temporal_workflow_task_schedule_to_start_latency_bucket
> >>> 3864 __name__=temporal_workflow_task_execution_latency_bucket
> >>> 3080 activity_type=UpdatePodConnectionsActivity
> >>> 3004 le=0.5
> >>> 3004 le=0.01
> >>> 3004 le=0.1
> >>> 3004 le=1
> >>> 3004 le=0.001
> >>> 3004 le=0.002
> >>>
> >>> Label names with highest cumulative label value length:
> >>> 8312 scrape_job
> >>> 4279 workflow_type
> >>> 3994 rule_group
> >>> 2614 __name__
> >>> 2478 instance
> >>> 1564 job
> >>> 434 datname
> >>> 248 activity_type
> >>> 139 mode
> >>> 128 operation
> >>> 109 version
> >>> 97 pod
> >>> 88 state
> >>> 68 service
> >>> 45 le
> >>> 44 namespace
> >>> 43 slice
> >>> 31 container
> >>> 28 quantile
> >>> 18 alertname
> >>>
> >>> Highest cardinality labels:
> >>> 138 instance
> >>> 138 scrape_job
> >>> 84 __name__
> >>> 75 workflow_type
> >>> 71 datname
> >>> 70 job
> >>> 19 rule_group
> >>> 14 le
> >>> 10 activity_type
> >>> 9 mode
> >>> 9 quantile
> >>> 6 state
> >>> 6 operation
> >>> 5 datid
> >>> 4 slice
> >>> 2 container
> >>> 2 pod
> >>> 2 alertname
> >>> 2 version
> >>> 2 service
> >>>
> >>> Highest cardinality metric names:
> >>> 12712 temporal_request_latency_bucket
> >>> 6944 temporal_activity_execution_latency_bucket
> >>> 6944 temporal_activity_schedule_to_start_latency_bucket
> >>> 3864 temporal_workflow_task_schedule_to_start_latency_bucket
> >>> 3864 temporal_workflow_task_replay_latency_bucket
> >>> 3864 temporal_workflow_task_execution_latency_bucket
> >>> 3864 temporal_workflow_endtoend_latency_bucket
> >>> 2448 pg_locks_count
> >>> 1632 pg_stat_activity_count
> >>> 908 temporal_request
> >>> 690 prometheus_target_sync_length_seconds
> >>> 496 temporal_activity_execution_latency_count
> >>> 350 go_gc_duration_seconds
> >>> 340 pg_stat_database_tup_inserted
> >>> 340 pg_stat_database_temp_bytes
> >>> 340 pg_stat_database_xact_commit
> >>> 340 pg_stat_database_xact_rollback
> >>> 340 pg_stat_database_tup_updated
> >>> 340 pg_stat_database_deadlocks
> >>> 340 pg_stat_database_tup_returned
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> >>> Groups "Prometheus Users" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send
> >>> an email to [email protected].
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/prometheus-users/59f74cb9-3135-4fc3-a7e7-9bec02a3143an%40googlegroups.com
> >>> <https://groups.google.com/d/msgid/prometheus-users/59f74cb9-3135-4fc3-a7e7-9bec02a3143an%40googlegroups.com?utm_medium=email&utm_source=footer>
> >>> .
> >>>
> >> --
> > You received this message because you are subscribed to a topic in the
> > Google Groups "Prometheus Users" group.
> > To unsubscribe from this topic, visit
> > https://groups.google.com/d/topic/prometheus-users/_yUpPWtFaQA/unsubscribe
> > .
> > To unsubscribe from this group and all its topics, send an email to
> > [email protected].
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/prometheus-users/9a2d7848-4f4f-43b9-90f4-765367f33c47n%40googlegroups.com
> > <https://groups.google.com/d/msgid/prometheus-users/9a2d7848-4f4f-43b9-90f4-765367f33c47n%40googlegroups.com?utm_medium=email&utm_source=footer>
> > .
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Prometheus Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/prometheus-users/CANP6zPKHQkSZPcQ%3Dcj1obbq4RfcnnE_eOJqEkYtvEwOqAE6EgQ%40mail.gmail.com.

-- 
Julien Pivotto
@roidelapluie

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/Y9onaJkBb8Quugae%40nixos.

Reply via email to