Files
LocalAI/docs/content/reference/system-info.md
T
leilei3167andlocalai-org-maint-bot d90f703bd9 fix(xsysinfo): read process VRAM without proc children (#12482)
* fix(xsysinfo): read process VRAM without proc children

Kernels without CONFIG_PROC_CHILDREN have no task children file, so
ProcessVRAM dropped every DRM reading. When that file is missing, walk
child processes from /proc/<pid>/stat ppid links instead. Other read
errors still drop the reading.

Fixes #12481

Signed-off-by: leilei3167 <imleilei123@gmail.com>

* docs(system): describe the proc children fallback

Document VRAM reporting on kernels without CONFIG_PROC_CHILDREN.

Assisted-by: Codex:GPT-6

---------

Signed-off-by: leilei3167 <imleilei123@gmail.com>
Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
2026-10-05 01:37:12 +02:00

4.5 KiB

+++ disableToc = false title = "System Info and Version" weight = 23 url = "/reference/system-info/" +++

LocalAI provides endpoints to inspect the running instance, including available backends, loaded models, and version information.

System Information

  • Method: GET
  • Endpoint: /system

Returns available backends and currently loaded models.

Response

Field Type Description
backends array List of available backend names (strings)
loaded_models array List of currently loaded models
loaded_models[].id string Model identifier
loaded_models[].backend string Backend serving the model, from its config. Omitted when the model was loaded without one
loaded_models[].process object The backend process serving the model on this host. Omitted when there is no local process (a distributed worker holds the model) or it could not be read
loaded_models[].process.pid integer Process ID
loaded_models[].process.rss_bytes integer Resident host memory, in bytes. Weights offloaded to a GPU are not included
loaded_models[].process.memory_percent number rss_bytes as a percentage of host RAM
loaded_models[].process.cpu_percent number Share of the whole host's CPU used since the previous call, 0-100. Omitted on the first call that sees the process, because there is no earlier reading to compare against
loaded_models[].process.started_at string When the process started (RFC 3339)
loaded_models[].size_vram integer Optional DRM-accounted resident device memory, in bytes

Per-model VRAM

On Linux, size_vram reports resident device memory for the local backend process and its child processes. LocalAI reads drm-resident-local* and drm-resident-vram* from /proc and counts each DRM client once per GPU. Host-memory regions are excluded. The reading includes buffers attributed to the backend, without separating weights, KV cache, and other allocations. See the kernel DRM accounting specification for these counters.

Kernels without CONFIG_PROC_CHILDREN are supported. When /proc does not provide per-thread children files, LocalAI finds child processes through the parent PIDs in /proc/<pid>/stat.

The field is omitted when accounting is unavailable or incomplete. This includes external and distributed backends, macOS, proprietary NVIDIA drivers, primary DRM nodes (/dev/dri/card*), missing resident counters, and unreadable process information. A present value of 0 means the supported counters report zero bytes. Treat an absent field as unknown.

This is a snapshot of driver accounting, not a memory reservation. Shared buffers can appear in different clients' counters, and allocations can change during collection. Do not treat the sum across models as exclusive physical GPU usage. These readings do not replace capacity checks when scheduling work.

Usage

curl http://localhost:8080/system

Example response

{
  "backends": [
    "llama-cpp",
    "huggingface",
    "diffusers",
    "whisper"
  ],
  "loaded_models": [
    {
      "id": "my-llama-model",
      "backend": "llama-cpp",
      "size_vram": 5368709120,
      "process": {
        "pid": 48213,
        "rss_bytes": 5368709120,
        "memory_percent": 7.8,
        "cpu_percent": 42.5,
        "started_at": "2026-09-21T09:12:44Z"
      }
    },
    {
      "id": "whisper-1",
      "backend": "whisper"
    }
  ]
}

cpu_percent covers the time since the previous call to this endpoint, so a dashboard polling every few seconds gets a current reading. The WebUI's Operate → This machine page polls it every five seconds.


Version

  • Method: GET
  • Endpoint: /version

Returns the LocalAI version and build commit.

Response

Field Type Description
version string Version string in the format version (commit)

Usage

curl http://localhost:8080/version

Example response

{
  "version": "2.26.0 (a1b2c3d4)"
}

Error Responses

Status Code Description
500 Internal server error