如何在Google Cloud安装Ultralytics?部署后遇文件监听异常求助
解决Google Cloud部署Ultralytics时的文件监听错误
问题原因
Google Cloud环境默认的inotify文件监听配额不足以处理Ultralytics依赖带来的大量文件,触发unable to watch for file changes in this large workspace错误,最终导致控制台会话异常断开并重置。
解决方案
临时提高inotify监听上限
在部署启动前执行以下命令,扩大用户可监听的文件数量上限:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p该配置会将监听上限调整至524288,足以覆盖Ultralytics相关的文件规模。
禁用开发环境的热重载功能
如果项目使用了Flask、Django等框架的debug模式(自动热重载),生产环境下直接关闭:- Flask:将
app.run(debug=True)修改为app.run(debug=False) - Django:在
settings.py中设置DEBUG = False
关闭热重载后,系统不再监听文件变动,从根源避免这个问题。
- Flask:将
精简工作区和依赖
- 清理
requirements.txt,只保留Ultralytics和项目必需的依赖包 - 将工作区中的测试数据、日志、临时文件等无关内容移出部署目录,减少需要监听的文件总数
- 清理
配置构建缓存优化部署
利用Google Cloud Build的缓存功能,避免重复安装依赖并减少文件变动:
在cloudbuild.yaml中添加缓存配置:steps: - name: 'gcr.io/cloud-builders/python' args: ['pip', 'install', '-r', 'requirements.txt', '--cache-dir', '/cache/pip'] volumes: - name: 'pip_cache' path: '/cache/pip' volumes: - name: 'pip_cache' persistentDisk: pdName: 'pip-cache-disk' fsType: 'ext4'
内容的提问来源于stack exchange,提问作者OZİDEA IDEAD
相关产品推荐
相关产品推荐

