domain包与util包;长时间运行模型后底层资源耗尽或模型状态进入了异常区间;
1.domain包与util包;
domain包的正确职责:
👉你的系统“关心的事物本身”
👉不是工具,不是 HTTP,不是数据库
👉而是:你的系统“理解世界的方式”
👉有用的实体类。
util 的正确职责(非常窄):
工具就仅仅是工具,很少参与到系统当中,比如pdf转换base64
| 特征 | util |
|---|---|
| 无状态 | ✅ |
| 输入→输出 | ✅ |
| 没有业务含义 | ✅ |
| 不会被“讨论” | ✅ |
2.长时间运行模型后底层资源耗尽或模型状态进入了异常区间;
👉这种情况在长时间运行 marker 或类似的深度学习推理管道(Inference Pipeline)时非常常见。
👉由于没有报错,这通常不是代码逻辑崩溃,而是底层资源耗尽或模型状态进入了异常区间。
(1)显存碎片化与溢出(GPU Memory Fragmentation)
👉这是最可能的原因。虽然显存可能看起来没满,
但长时间的分配与释放会导致“显存碎片”,使得模型无法申请到连续的内存块来存储推理结果。
(2) 进程死锁或超时(Tesseract/OCR 僵死)
marker 内部调用 OCR 引擎(如 Tesseract)时,如果遇到某些极其复杂的 PDF 页面,
底层 OCR 进程可能陷入无限循环或崩溃,导致主程序拿到的结果为空。
👉这种情况可以根据推理时间过长来判断。
浙公网安备 33010602011771号