keycloak docker 容器的内存使用情况

Memory usage of keycloak docker container

当我们启动 keycloak 容器时,它立即使用了将近 700 MB 的内存。我无法找到有关它如何以及在何处使用这么多内存的更多详细信息。我有以下几个问题。

  1. 有没有办法找到有关哪些进程正在执行的更多详细信息 容器内有更多内存?我正在查看文件 /sys/fs/cgroup/memory/memory.stat 容器内没有提供太多信息。
  2. keycloak容器占用这么多内存正常吗?或者我们需要 在配置文件中进行任何调整以获得更好的性能。

如果有人有更多可以用来提高应用程序整体性能的发现,我将不胜感激。

Keycloak 是 Java 应用程序,因此您需要先了解 Java/Java VM 内存占用:What is the memory footprint of the JVM and how can I minimize it?

如果您想分析 Java 内存使用情况,那么 Java VisualVM 是一个很好的起点。

Keycloak 内存 700MB 是正常的。主动将 Keycloak 移动到 Quarkus (https://www.keycloak.org/2020/12/first-keycloak-x-release.adoc),这也将减少内存占用 - 它仍处于预览阶段,尚未普遍可用。

理论上你可以切换到不同的运行时(例如 GraalVM),但你可能会遇到不同的问题 - 它不是官方支持的设置。

恕我直言:如果你想优化你的 Keycloak 内存使用,那将是过度设计;这是一个 Java 应用程序