函数计算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卡型,规格方案为GPU 16 GB。然而,在运行函数后,阿里云控制台的“监控指标”显示GPU显存限额仅为4096 MB(即4 GB),并且代码运行时出现CUDA内存不足(OOM)错误。此外,通过nvidia-smi
查询显卡信息也显示显存为3840 MB(约3.75 GB)。这表明实际分配给函数的GPU显存与预期不符。
以下是可能的原因及解决方案:
vGPU显存切分限制
根据函数计算的GPU实例规则,Tesla T4卡型支持显存切分,范围为1 GB到16 GB(以1024 MB为单位递增)。如果未明确指定显存大小,系统可能会默认分配较小的显存(如4 GB)。这可能是导致显存限额仅为4 GB的原因。
函数配置未正确设置显存规格
在创建函数时,需要在“规格方案”中明确指定GPU显存大小。如果未正确设置或遗漏了该配置项,系统可能分配默认值(如4 GB)。
闲置模式的影响
函数计算支持GPU实例的闲置模式。当实例处于闲置状态时,显存使用量会降至零,但重新激活时仍需满足显存需求。如果显存配置不足,可能导致OOM错误。
镜像或驱动问题
如果使用的容器镜像未正确适配Tesla T4卡型,或者CUDA驱动版本不匹配,也可能导致显存分配异常。
nvidia-smi
torch.cuda.empty_cache()
释放未使用的显存。通过上述步骤,您可以解决函数计算中GPU显存分配不足的问题。重点在于: 1. 确保函数配置中显存规格设置为16 GB。 2. 验证镜像适配性和显存分配情况。 3. 优化代码逻辑以减少显存占用。
如果问题仍未解决,请联系阿里云技术支持团队,提供详细的函数配置和日志信息以便进一步排查。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。