You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Uvicorn指定--workers 1仍运行多线程的问题咨询

Uvicorn指定--workers 1仍运行多线程的问题咨询

大家好,我最近在部署FastAPI应用的时候遇到了一个困惑,想过来请教下各位:

我先是把Docker Desktop配置成了仅使用单核心CPU,进入容器后用nproc命令验证,确实是单核心:

root@e2bb2ef7dfcc:/app# nproc
1

之后我用--workers 1参数启动我的FastAPI应用,启动命令和进程查看结果如下:

root@e2bb2ef7dfcc:/app# uvicorn fastapi_blocking:app --host 0.0.0.0 --port 8000 --workers 1
root@e2bb2ef7dfcc:/app# ps -ef | grep uvicorn
root      1     0  0 12:31 ?        00:00:01 /venv/bin/python3 /venv/bin/uvicorn fastapi_blocking:app --host 0.0.0.0 --port 8000 --workers 1

本来以为这样就会以单进程单线程运行了,但用pstree查看进程树的时候,发现主Uvicorn进程下面还挂着多个线程:

root@e2bb2ef7dfcc:/app# pstree -p -t uvicorn(1)-+-{uvicorn}(6)
                                                |-{uvicorn}(7)
                                                |-{uvicorn}(8)
                                                `-{uvicorn}(9)

我有点搞不懂,明明指定了--workers 1,容器也是单核心CPU,为什么Uvicorn还会启动多个线程?有没有办法让它真正以单线程单进程的模式运行呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 07:40:30