解决WSL环境下DeepSeek-OCR运行时内存不足问题
问题描述
在WSL环境中运行DeepSeek-OCR时出现以下错误:
RuntimeError: unable to mmap 6672547120 bytes from file <./deepseek-ai/DeepSeek-OCR/model-00001-of-000001.safetensors>: Cannot allocate memory (12)
这是由于WSL默认分配的内存不足以加载大型模型导致的。
解决方案
1. 配置WSL内存限制
在Windows中创建或编辑WSL配置文件:
- 文件位置:
C:\Users\<你的用户名>\.wslconfig
添加以下配置内容:
[wsl2]
memory=12GB # 分配给WSL的内存,建议系统内存的70-80%
swap=4GB # 交换空间
processors=4 # CPU核心数
2. 重启WSL服务
配置完成后,在Windows PowerShell中执行以下命令重启WSL:
wsl --shutdown
然后重新打开WSL终端即可。
相关配置参数优化
根据config.py中的设置,还可以通过调整以下参数进一步优化内存使用:
- MAX_CONCURRENCY: 降低并发数量以减少GPU内存占用
- NUM_WORKERS: 减少图像预处理工作线程数
- MAX_CROPS: 降低最大裁剪数量以减少内存消耗
这些参数可根据实际硬件配置进行适当调整。

1634

被折叠的 条评论
为什么被折叠?



