mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 03:18:23 -05:00
[GH-ISSUE #23962] issue: High CPU usage after a query #35658
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vk2r on GitHub (Apr 21, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23962
Check Existing Issues
Installation Method
Docker
Open WebUI Version
0.9.1
Ollama Version (if applicable)
No response
Operating System
Proxmox 9.1.7
Browser (if applicable)
Zen Browser
Confirmation
README.md.Expected Behavior
I hope the CPU usage does not increase drastically, or at the very least, diminishes once OpenWebUI is no longer in use.
Actual Behavior
Since this update, I've observed a significant increase in CPU usage after a query is completed. After the query has finished responding, generating follow-ups, and the title, the CPU usage unexpectedly spikes to approximately 25%, even when there appears to be no other activity. This behavior was not present in earlier versions.
Steps to Reproduce
In Proxmox:
Docker Compose
Logs & Screenshots
Logs
Video
https://github.com/user-attachments/assets/8bfe769f-8a5d-48c8-8fdf-f23c5f7f09c4
@pauloalexcosta commented on GitHub (Apr 21, 2026):
Bug report: CPU spikes to 100% on first message when MCPHub is connected
Version: Regression introduced after
0.8.2— not present in that version.Reproduction
Reproducible with any model. Steps:
Result: CPU immediately pegs at 100%.
Additional behavior: admin panel connection test
When testing the MCP integration via the admin panel, despite the connection appearing to work in chat, the following happens:
Error log
Summary:
Full traceback:
Notes
mcp/client/streamable_http.pyaroundanyiocancel scope / task group teardown0.8.220:59:29.460)merged-logs.txt
@vk2r commented on GitHub (Apr 21, 2026):
I hadn't thought it could be MCPHub. I didn't have any problems with it before, but it seems we're now two people experiencing issues and needing MCPHub. I appreciate your report.
@oatmealm commented on GitHub (Apr 22, 2026):
I'm having anyio crashing calls to an MCP endpoint using http transport with exactly this message after upgrading to 0.9.1
@fmonnier74 commented on GitHub (Apr 22, 2026):
I am having the same issue, the machine have 4 Cores and after a single prompt sent, one core goes 100% forever.
@dude75 commented on GitHub (Apr 22, 2026):
I am having the same issue
@bboyles303 commented on GitHub (Apr 22, 2026):
Just echoing on this as well to show it is affecting more users. One prompt and a single core will go to 100% and stay there until I restart the service. Also noted the chat working indicator never stops spinning, and the ui will get progressively slower until the service is restarted.
@somera commented on GitHub (Apr 22, 2026):
I updated from v0.8.12 to v0.9.1. And my VN runs on Proxmox 8.x. After I could login into Open WebUI I didn't see any models. In logs exceptions. I had no time for deep analysis. I go back to my backup with v0.8.12.
Perhaps I have time to look on this on weekend.
Why so many problems in this release?
@pauloalexcosta commented on GitHub (Apr 22, 2026):
Workaround for CPU spike when using MCPHub "the regular way".
For those hitting this with MCP tool servers, the root cause is OWUI's streamable HTTP client leaking async tasks on teardown, which spins the event loop at 100% CPU until container restart. This - if I'm understanding all of it correctly - is a known recurring bug, also documented in #18316 and #18279.
Working workaround until this is fixed: route your MCP servers through mcpo and connect them to OWUI as OpenAPI tool servers instead of MCP Streamable HTTP. This bypasses the broken transport entirely.
Setup
Add mcpo to your docker-compose alongside your MCP server(s):
Create
mcpo_config.jsonnext to your compose file. Important: usetype: sse, notstreamable-http(!) ; mcpo only forwardsheaders(for auth) on SSE type connections:Then in OWUI, add each server as an OpenAPI (not MCP) tool server pointing to
http://your-host:3101/my-server, with Bearer tokenyour-mcpo-secret.Key gotcha
mcpo silently ignores the
headersfield forstreamable-httptype entries, so auth tokens don't get forwarded and you get 403s on tool calls. Usingtype: ssewith the/sse/endpoint path works correctly.No CPU spikes, no container restarts needed. The OpenAPI path in OWUI is stable and unaffected by the streamable HTTP bug.
@pauloalexcosta commented on GitHub (Apr 24, 2026):
On my end I can confirm the fix delivered on v0.9.2 is working fine.
CPU usage back to normal and I can use the MCP servers in streamableHTTP format again.
👍
@fmonnier74 commented on GitHub (Apr 24, 2026):
I confirm as well, it works like a charm right since v0.9.2.
On Fri, Apr 24, 2026 at 6:04 PM Paulo Costa @.***>
wrote:
--
Best regards,
Fabien Monnier
INT : +1 703 973 4348
FR : +33 6 89 53 08 91
@oatmealm commented on GitHub (Apr 24, 2026):
It works for me but models claim they can't see any tools despite the MCP being enabled on the model and perfectly accessible from opencode and other agents.