优化注册功能
This commit is contained in:
@@ -186,12 +186,72 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
## 💾 小内存机器配置(512MB-1GB)
|
||||
|
||||
如果你的 Linux 机器内存较小,可以使用专门优化的小内存版本:
|
||||
|
||||
```bash
|
||||
# 使用小内存优化的 Dockerfile 和配置
|
||||
docker-compose -f docker-compose.low-mem.yml up -d
|
||||
|
||||
# 查看日志
|
||||
docker-compose -f docker-compose.low-mem.yml logs -f
|
||||
|
||||
# 停止容器
|
||||
docker-compose -f docker-compose.low-mem.yml down
|
||||
```
|
||||
|
||||
### 小内存优化措施
|
||||
|
||||
1. **单 Worker 配置**:Gunicorn 使用 1 个 worker + 2 个线程,减少内存占用
|
||||
2. **最小化依赖**:移除 GUI 相关依赖(CustomTkinter、Kivy等)
|
||||
3. **OpenCV Headless**:使用 `opencv-python-headless`,不包含 GUI 组件
|
||||
4. **内存限制**:容器内存限制为 512MB(最大),保留 256MB
|
||||
5. **环境变量优化**:设置 `MALLOC_ARENA_MAX=2` 和 `PYTHONHASHSEED=0` 减少内存碎片
|
||||
|
||||
### 内存需求对比
|
||||
|
||||
| 配置 | 内存需求 | 适用场景 |
|
||||
|------|---------|---------|
|
||||
| 标准版(Dockerfile) | 1GB+ | 服务器、开发环境 |
|
||||
| 小内存版(Dockerfile.low-mem) | 512MB-1GB | 树莓派、小型 VPS、低配服务器 |
|
||||
|
||||
### 手动调整内存限制
|
||||
|
||||
如果使用标准版,可以通过修改 `docker-compose.yml` 来限制内存:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
web:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M # 限制最大内存
|
||||
reservations:
|
||||
memory: 256M # 保留内存
|
||||
```
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
1. **OCR功能**:Docker镜像已包含Tesseract OCR支持
|
||||
2. **内存限制**:建议至少分配1GB内存给容器
|
||||
3. **文件权限**:确保挂载的目录有适当的读写权限
|
||||
4. **时区设置**:如需修改时区,在Dockerfile中添加:
|
||||
1. **OCR功能**:
|
||||
- Docker镜像已包含 Tesseract OCR 支持(轻量级)
|
||||
- **未包含** PaddleOCR 和 EasyOCR(内存占用大,需要手动安装)
|
||||
- 默认只使用 Tesseract OCR,内存占用很小
|
||||
|
||||
2. **内存限制**:
|
||||
- 标准版:建议至少分配 **1GB 内存**给容器
|
||||
- 小内存版:可以在 **512MB 内存**的机器上运行
|
||||
|
||||
3. **Worker 数量调整**:
|
||||
- 标准版默认 2 个 worker(适合 1GB+ 内存)
|
||||
- 小内存机器可以在 `Dockerfile` 中修改为 1 个 worker:
|
||||
```dockerfile
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", ...]
|
||||
```
|
||||
|
||||
4. **文件权限**:确保挂载的目录有适当的读写权限
|
||||
|
||||
5. **时区设置**:如需修改时区,在Dockerfile中添加:
|
||||
```dockerfile
|
||||
ENV TZ=Asia/Shanghai
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
Reference in New Issue
Block a user