+++ disableToc = false title = "Backend Monitor" weight = 20 url = "/features/backend-monitor/" +++ LocalAI provides endpoints to monitor and manage running backends. The `/backend/monitor` endpoint reports the status and resource usage of loaded models, and `/backend/shutdown` allows stopping a model's backend process. ## Monitor API - **Method:** `GET` - **Endpoints:** `/backend/monitor`, `/v1/backend/monitor` ### Request The request body is JSON: | Parameter | Type | Required | Description | |-----------|----------|----------|--------------------------------| | `model` | `string` | Yes | Name of the model to monitor | ### Response Returns a JSON object with the backend status: | Field | Type | Description | |----------------------|----------|-------------------------------------------------------| | `state` | `int` | Backend state: `0` = uninitialized, `1` = busy, `2` = ready, `-1` = error | | `memory` | `object` | Memory usage information | | `memory.total` | `uint64` | Total memory usage in bytes | | `memory.breakdown` | `object` | Per-component memory breakdown (key-value pairs) | If the gRPC status call fails, the endpoint falls back to local process metrics: | Field | Type | Description | |------------------|---------|--------------------------------| | `memory_info` | `object`| Process memory info (RSS, VMS) | | `memory_percent` | `float` | Memory usage percentage | | `cpu_percent` | `float` | CPU usage percentage | ### Usage ```bash curl http://localhost:8080/backend/monitor \ -H "Content-Type: application/json" \ -d '{"model": "my-model"}' ``` ### Example response ```json { "state": 2, "memory": { "total": 1073741824, "breakdown": { "weights": 536870912, "kv_cache": 268435456 } } } ``` ## Shutdown API - **Method:** `POST` - **Endpoints:** `/backend/shutdown`, `/v1/backend/shutdown` ### Request | Parameter | Type | Required | Description | |-----------|----------|----------|---------------------------------| | `model` | `string` | Yes | Name of the model to shut down | ### Usage ```bash curl -X POST http://localhost:8080/backend/shutdown \ -H "Content-Type: application/json" \ -d '{"model": "my-model"}' ``` ### Response Returns `200 OK` with the shutdown confirmation message on success. ## Error Responses | Status Code | Description | |-------------|------------------------------------------------| | 400 | Invalid or missing model name | | 500 | Backend error or model not loaded |