函数计算FC这个问题怎么解决?函数配置里GPU 卡型是Tesla 系列 T4 卡型, 规格方案 GPU 16 GB , 新运行函数后,阿里控制台的“监控指标”的“GPU显存使用情况(MB)”显存限额只有4096MB, 代码出错CUDA的OOM如下:RuntimeError: CUDA out of memory. Tried to allocate 7.50 GiB (GPU 0; 3.75 GiB total capacity; 7.50 GiB already allocated; 3.75 GiB free; 7.52 GiB reserved in total by PyTorch)
里面查询显卡信息也只有4G显存
Sat Mar 23 17:57:31 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla T4 On | 00000000:00:07.0 Off | 0 |
| N/A 33C P8 12W / 70W | 0MiB / 3840MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的信息,函数计算(FC)中配置的GPU实例规格为Tesla T4卡型,显存设置为16 GB。然而,在运行函数后,阿里云控制台显示的“GPU显存使用情况(MB)”限额仅为4096 MB(即4 GB),并且代码运行时出现CUDA内存不足(OOM)错误。同时,通过nvidia-smi
查询到的显存容量也仅为3840 MB(约3.75 GB)。这表明实际分配给函数的GPU显存与预期不符。
以下是可能的原因及解决方案:
vGPU显存切分限制
根据函数计算的GPU实例规格配置表,Tesla T4卡型支持显存切分,范围为1 GB至16 GB(以1024 MB为单位递增)。如果未明确指定显存大小,系统可能会默认分配最小值(1 GB或4 GB)。
关键点: 您需要确认是否在创建函数时正确设置了GPU显存规格
为16 GB。
闲置模式的影响
函数计算支持GPU实例的闲置模式。当函数处于闲置状态时,显存资源会被释放,仅保留最低限度的显存以降低费用。当有新的请求到来时,平台会重新分配显存。
关键点: 如果函数长时间未被调用,显存可能被回收,导致显存限额低于预期。
镜像或驱动问题
容器镜像中的CUDA驱动版本或PyTorch框架可能存在兼容性问题,导致显存分配异常。例如,nvidia-smi
显示的显存容量与实际可用显存不一致。
GPU显存规格
已正确设置为16 GB。具体操作如下:
GPU显存规格
是否设置为16 GB。nvidia-smi
显示的驱动版本匹配的CUDA工具包。torch.cuda.empty_cache()
手动释放未使用的显存。nvidia-smi
输出结果。通过以上步骤,您可以逐步排查并解决显存分配不足的问题。重点在于确认GPU显存规格
是否正确设置、闲置模式是否影响显存分配,以及容器镜像和代码逻辑是否存在潜在问题。如果问题仍未解决,请及时联系阿里云技术支持团队获取帮助。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。