Skip to content

Alertmanager should be cgroup aware #3735

@uhthomas

Description

@uhthomas

What did you do?

I recently changed the CPU in my server from an Intel 13600k with 20 threads to an EPYC 7763 with 128 threads. I run alertmanager in Kubernetes with a CPU limit of 100m.

What did you expect to see?

No change in performance.

What did you see instead? Under which circumstances?

Go is not cgroup aware. This means that Prometheus is being throttled in containerised environments with CPU limits.

The first half of the time series is with the 13600k, and the second half is with the EPYC 7763.

image

automaxprocs can use cgroups automatically.

Environment

  • System information:
Linux 6.1.69-talos x86_64
  • Alertmanager version:
alertmanager, version 0.26.0 (branch: main, revision: 7a3c189315da7b8ed2d5e05f122c4cf4873c1379)
  build user:       root@9178099891ea
  build date:       20240123-14:29:39
  go version:       go1.21.6
  platform:         linux/amd64
  tags:             netgo
  • Prometheus version:

N/A

  • Alertmanager configuration file:

N/A

  • Prometheus configuration file:

N/A

  • Logs:

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions