Skip to content
Discussion options

You must be logged in to vote

Hi @cq-ldg! I'm Dosu and I’m helping the MinerU team.

造成OCR结束后CPU资源瞬间拉升到6核,主要原因通常是OCR阶段或后续处理没有用到GPU加速,导致所有推理和批量处理都在CPU上并发执行,尤其是在新版MinerU(>=2.1.2)批量参数提升后,CPU负载会明显增加。常见触发点包括:环境变量(如MINERU_DEVICE_MODE、CUDA_VISIBLE_DEVICES)或Docker参数配置不一致,PyTorch未正确识别GPU,或FastAPI/Uvicorn等并发模式下模型实例未独立初始化,导致OCR和后处理全部走CPU多线程/多进程并发,瞬间占满多个核心。

此外,OCR结束后MinerU还会进行图片方向分类、表格分类等模型推理,这些步骤也会批量并发处理图片,进一步拉高CPU使用率。新版代码还将图片转为numpy数组并用批量推理方式处理布局、公式识别等任务,这些操作本身就会消耗大量CPU资源,尤其在GPU不可用或未配置时表现更明显。

建议检查容器内PyTorch的CUDA可用性、环境变量和Docker参数是否一致,确认日志中模型初始化和推理阶段是否分配到GPU。如果确认GPU可用但CPU依然高负载,可以尝试单独跑OCR最小脚本排查,或调整批量参数(如MINERU_MIN_BATCH_INFERENCE_SIZE、OCR_DET_BASE_BATCH_SIZE)来缓解瞬时CPU压力。

详细原理和排查方法可参考相关讨论:讨论1讨论2PR说明

To reply, just mention @dosu.


S…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@cq-ldg
Comment options

Answer selected by cq-ldg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant