From 0015f6c171ef4766bba9d66698944113f6dacfe2 Mon Sep 17 00:00:00 2001 From: mohithshuka <153504854+mohithshuka@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:45:40 +0000 Subject: [PATCH] docs: add deprecation notice for --kernel-memory flag Fixes #24643 --kernel-memory was deprecated in v20.10 and removed in v23.0. Add deprecation callouts to both the options table and the Kernel memory constraints section of the run reference page. --- docs/reference/run.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/reference/run.md b/docs/reference/run.md index 7da6e58008db..896253e02a1b 100644 --- a/docs/reference/run.md +++ b/docs/reference/run.md @@ -334,7 +334,7 @@ container: | `-m`, `--memory=""` | Memory limit (format: `[]`). Number is a positive integer. Unit can be one of `b`, `k`, `m`, or `g`. Minimum is 6M. | | `--memory-swap=""` | Total memory limit (memory + swap, format: `[]`). Number is a positive integer. Unit can be one of `b`, `k`, `m`, or `g`. | | `--memory-reservation=""` | Memory soft limit (format: `[]`). Number is a positive integer. Unit can be one of `b`, `k`, `m`, or `g`. | -| `--kernel-memory=""` | Kernel memory limit (format: `[]`). Number is a positive integer. Unit can be one of `b`, `k`, `m`, or `g`. Minimum is 4M. | +| `--kernel-memory=""` | **Deprecated**: Kernel memory limit. Deprecated in Docker v20.10, and removed in Docker v23.0. This option is ignored when set. | | `-c`, `--cpu-shares=0` | CPU shares (relative weight) | | `--cpus=0.000` | Number of CPUs. Number is a fractional number. 0.000 means no limit. | | `--cpu-period=0` | Limit the CPU CFS (Completely Fair Scheduler) period | @@ -502,6 +502,15 @@ less likely to be killed, and positive scores more likely. ### Kernel memory constraints +> **Deprecated** +> +> The `--kernel-memory` option was deprecated in Docker v20.10 and removed in +> Docker v23.0. The Linux kernel deprecated `kmem.limit_in_bytes` in kernel +> v5.4, and OCI runtimes such as runc no longer support this option. Docker API +> v1.42 and later ignores this option when set. Do not use `--kernel-memory` in +> new configurations. For more details, see the +> [Deprecated features](https://docs.docker.com/engine/deprecated/) page. + Kernel memory is fundamentally different than user memory as kernel memory can't be swapped out. The inability to swap makes it possible for the container to block system services by consuming too much kernel memory. Kernel memory includes: