fix(docker): a container's memory is its processes' own; file cache shown on its page (#6030)
The agent sent Docker's working set (usage less inactive_file), which still counts recently used file cache. A file-heavy container with no limit read 191 GB while its processes held 2.2 GB, and the host's own figure, which already leaves cache out, disagreed with it. Agent 1.23.0 sends mem_used_bytes / mem_used_pct (anon + shmem, so Postgres's shared buffers count; v1: rss + shmem) and mem_cache_bytes apart. The new names keep the two meanings apart in history and in learned normals: docker_013 renames the columns, clears the old values and adds mem_cache_bytes. The Docker page, swarm by-node sums, Busiest Containers, container detail, normals and the MCP tools all read the new figure. File cache is shown only on the container's page and in get_container. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -318,8 +318,8 @@ METRICS: dict[str, tuple[str, str]] = {
|
||||
"latency_ms": ("WAN latency", "round trip from the gateway"),
|
||||
"total_clients": ("Connected clients", "devices on the network"),
|
||||
"cpu_pct": ("CPU", "CPU in use; for a container, 100% is one core"),
|
||||
"mem_pct": ("Memory (% of limit)", "memory in use, against the container's limit or the host's RAM"),
|
||||
"mem_usage_bytes": ("Memory used", "a container's memory in use, in bytes"),
|
||||
"mem_used_bytes": ("Memory used", "what a container's processes hold, in bytes; file cache not counted"),
|
||||
"mem_cache_bytes": ("File cache", "files a container read or wrote, kept in memory until the host needs it back"),
|
||||
"restart_count": ("Restarts", "times the container has restarted, in total"),
|
||||
"disk_total_bytes": ("Docker disk use", "everything Docker keeps on the host (resource: the host)"),
|
||||
"disk_images_bytes": ("Docker images", "space Docker's images take on the host"),
|
||||
@@ -327,7 +327,7 @@ METRICS: dict[str, tuple[str, str]] = {
|
||||
"disk_volumes_bytes": ("Docker volumes", "space Docker's volumes take on the host"),
|
||||
"disk_build_cache_bytes": ("Docker build cache", "left by docker build; safe to clear"),
|
||||
"disk_reclaimable_bytes": ("Reclaimable by Docker", "held by images no container uses"),
|
||||
"mem_used_pct": ("Memory used", "memory in use"),
|
||||
"mem_used_pct": ("Memory used", "memory in use, file cache not counted; a container's is of its limit, or of the host's RAM when it has none"),
|
||||
"mem_available_bytes": ("Memory available", "memory free for new work"),
|
||||
"swap_used_bytes": ("Swap used", "memory paged out to disk"),
|
||||
"disk_used_pct_worst": ("Fullest disk", "the most-full mount on the host, by space or inodes"),
|
||||
|
||||
Reference in New Issue
Block a user