|
1 | 1 | --- |
2 | 2 | title: Increased memory usage reported in Kubernetes 1.25 or later versions |
3 | 3 | description: Resolve an increase in memory usage that's reported after you upgrade an Azure Kubernetes Service (AKS) cluster to Kubernetes 1.25.x. |
4 | | -ms.date: 07/13/2023 |
5 | | -editor: v-jsitser |
| 4 | +ms.date: 12/22/2024 |
| 5 | +editor: momajed |
6 | 6 | ms.reviewer: aritraghosh, cssakscic, v-leedennis |
7 | 7 | ms.service: azure-kubernetes-service |
8 | 8 | ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool) |
@@ -34,12 +34,36 @@ This increase is caused by a change in memory accounting within version 2 of the |
34 | 34 |
|
35 | 35 | - If you see a higher eviction rate on the pods, [use higher limits and requests for pods](/azure/aks/developer-best-practices-resource-management#define-pod-resource-requests-and-limits). |
36 | 36 |
|
| 37 | +- cgroup v2 uses a different API than cgroup v1, so if there are any applications that directly access the cgroup file system, they need to be updated to newer versions that support cgroup v2. For example: |
| 38 | + |
| 39 | + - **Third-Party Monitoring and Security Agents**: |
| 40 | + Some monitoring and security agents depend on the cgroup filesystem. Update these agents to versions that support cgroup v2. |
| 41 | + |
| 42 | + - **Java Applications**: |
| 43 | + Prefer to use versions that fully support cgroup v2: |
| 44 | + - OpenJDK / HotSpot: `jdk8u372`, `11.0.16`, `15`, and later. |
| 45 | + - IBM Semeru Runtimes: `8.0.382.0`, `11.0.20.0`, `17.0.8.0`, and later. |
| 46 | + - IBM Java: `8.0.8.6` and later. |
| 47 | + |
| 48 | + - **uber-go/automaxprocs**: |
| 49 | + If you are using the `uber-go/automaxprocs` package, ensure the version is `v1.5.1` or higher. |
| 50 | + |
| 51 | +- An alternative temporary solution is to revert the cgroup version on your nodes by using the following DaemonSet: |
| 52 | +[Revert to cgroup v1 DaemonSet](https://github.com/Azure/AKS/blob/master/examples/cgroups/revert-cgroup-v1.yaml) |
| 53 | + |
| 54 | +**Note**: |
| 55 | +- The DaemonSet, by default, applies to all nodes in your cluster and will reboot them to implement the cgroup change. |
| 56 | +- To control how this gets applied, configure a `nodeSelector` to target specific nodes. |
| 57 | + |
| 58 | + |
37 | 59 | > [!NOTE] |
38 | 60 | > If you experience only an increase in memory use without any of the other symptoms that are mentioned in the "Symptoms" section, you don't have to take any action. |
39 | 61 |
|
40 | 62 | ## Status |
41 | 63 |
|
42 | | -We're actively working with the Kubernetes community to fix the underlying issue, and we'll keep you updated on our progress. We also plan to change the eviction thresholds or [resource reservations](/azure/aks/concepts-clusters-workloads#resource-reservations), depending on the outcome of the fix. |
| 64 | +We're actively working with the Kubernetes community to resolve the underlying issue. Progress on this effort can be tracked at [Azure/AKS Issue #3443](https://github.com/Azure/AKS/issues/3443). |
| 65 | + |
| 66 | +As part of the resolution, we plan to either adjust the eviction thresholds or update [resource reservations](/azure/aks/concepts-clusters-workloads#resource-reservations), depending on the outcome of the fix. |
43 | 67 |
|
44 | 68 | ## Reference |
45 | 69 |
|
|
0 commit comments