显存限制最佳实践

目前无影云手机对容器可使用的显存大小未做限制,如果部分应用抢占了过多显存,可能导致其他应用申请不到显存,从而导致这些应用发生异常。针对以上场景,无影云手机提供显存上限自定义能力,您可以灵活地控制容器内进度维度和应用维度的显存上限。

支持范围

  • 无影云手机矩阵版支持该能力,实例版不支持。

    说明

    矩阵版处于邀测中,如需体验,请提交工单申请。

  • cpm.gn6.gx1规格的云手机矩阵支持该能力,其他规格不支持。

自定义容器内进程维度的显存限制

命令与参数说明

您可以通过以下命令来设置容器内进程维度的显存上限。

setprop sys.wuying.vidmem.limit $LimitationVidmem

执行该命令后,无需重启,立即生效。

其中,$LimitationVidmem表示容器内每个进程最多可占用的显存大小,单位为MiB,最小值为200。

示例:

setprop sys.wuying.vidmem.limit 300

该命令的作用是将容器内每个进程的显存上限设为300 MiB。

说明

如果矩阵上所有容器内的进程显存上限超过服务器总显存上限,则依然会发生显存抢占,请确保您的显存分配是合理的。

为云手机平均分配显存

您可以通过将$LimitationVidmem设为-2来按照实例开数平均分配显存上限。

示例:

setprop sys.wuying.vidmem.limit -2

取消显存限制

$LimitationVidmem的值设为0,即可取消显存限制。

示例:

setprop sys.wuying.vidmem.limit 0

自定义应用维度的显存上限

如果使用的是系统镜像或基于系统镜像制作的自定义镜像,您可以通过以下命令自定义应用维度的显存上限:

wya config -e vidmem [pkgName]=[vidmemSize]

参数说明:

  • [pkgName]:需要限制显存上限的应用包名。

  • [vidmemSize]:该应用可占用的显存大小,单位为MB。

    如果该值大于容器总占用的显存上限,则以应用占用为准;如果为空,则取消应用的显存限制。

显存限制定义的优先级

  • 若镜像版本<25.07.1,应用维度的自定义显存限制优先级低于容器内进程维度。

  • 若镜像版本≥25.07.1,应用维度的自定义显存限制优先级高于容器内进程维度。