---
title: 启动与卸载云手机实例
description: "启动云手机实例路径下应存在kbox_config.cfg配置文件。容器会使用该文件中的配置，因此使用时应确保kbox_config.cfg配置文件中的配置正确。若启动路径下无该配置文件，云手机将无法正常启动。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative15/kunpengcpskbox_20_0157.html
sourcePath: /source/zh/kunpengboostkithistory/2530/armnative15/kunpengcpskbox_20_0157.html
indexId: d66afffe6e511098cf03cc0903e39b8143bc95835f46a443181b89ed73e5edcd78
---
# 启动与卸载云手机实例

启动云手机实例路径下应存在kbox_config.cfg配置文件。容器会使用该文件中的配置，因此使用时应确保kbox_config.cfg配置文件中的配置正确。若启动路径下无该配置文件，云手机将无法正常启动。

通过修改中如表1所示的map中对应路数的值来选择该路容器使用的GPU、CPU以及数据卷存放路径，灵活配置云手机使用的资源，使性能达到最优。


**表1 kbox_config.cfg配置文件中容器使用的GPU、CPU以及数据卷存放路径配置说明**

| 参数名称 | 参数说明 | 配置说明 |
| --- | --- | --- |
| KBOX\_GPU\_MAP（硬件配置一） KBOX\_VA\_GPU\_MAP（硬件配置二、三） | 通过修改map中对应路数的值来选择该路容器使用的GPU。 | KBOX\_GPU\_MAP映射（map）里的第一个代表编号为1的Kbox云手机，分配的GPU节点是/dev/dri/renderD128，根据硬件配置方案一，renderD128节点属于NUMA0，因此鲲鹏920 7260处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~31。 KBOX\_VA\_GPU\_MAP列表里的第一个代表编号为1的Kbox云手机，分配的GPU节点是/dev/dri/renderD128，根据硬件配置方案二、三，renderD128~135属于NUMA0，因此对于鲲鹏920 7260处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~31。鲲鹏920 7280Z处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~79。 |
| KBOX\_CPUSET\_MAP | 通过修改map中对应路数的值来选择该路容器使用的CPU。 | KBOX\_GPU\_MAP映射（map）里的第一个代表编号为1的Kbox云手机，分配的GPU节点是/dev/dri/renderD128，根据硬件配置方案一，renderD128节点属于NUMA0，因此鲲鹏920 7260处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~31。 KBOX\_VA\_GPU\_MAP列表里的第一个代表编号为1的Kbox云手机，分配的GPU节点是/dev/dri/renderD128，根据硬件配置方案二、三，renderD128~135属于NUMA0，因此对于鲲鹏920 7260处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~31。鲲鹏920 7280Z处理器NUMA0对应的KBOX\_CPUSET\_MAP里配置的CPU核心取值范围应为0~79。 |
| KBOX\_MOUNT\_MAP | 通过修改map中对应路数的值来选择该路容器使用的数据卷存放路径。 | 无 |


为确保Kbox云手机的稳定运行与最佳性能，请保障每个容器所绑定的CPU物理核和GPU渲染节点同属于一个CPU片。


Kbox云手机容器支持使能图形加速层，通过修改kbox_config.cfg配置文件中的“ENABLE_RENDER_LAYER”为1进行使能。打开“~/dependency/deploy_scripts”路径下的“kbox_render_accelerating_configuration.xml”配置文件，对应用的图形加速层功能进行配置。具体配置项描述请参见《视频流引擎 特性指南（Android 15）(https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_20_0013.html)》中的“图形加速层配置项”章节。首次启动云手机容器后，若需要修改图形加速层功能的配置，修改配置文件中应用对应的配置，手动将其拷贝到云手机容器“/data/local/tmp”路径，重启应用生效。

1. 解压Kbox-AOSP15.zip，将Kbox-AOSP15文件夹中的“deploy_scripts”目录上传至服务器的“~/dependency”目录。
2. 通过android_kbox_aosp15.sh脚本启动容器。
  1 2 3 cd ~/dependency/deploy_scripts chmod +x android_kbox_aosp15.sh ./android_kbox_aosp15.sh start {镜像名称:tag} ${index1}

  Kbox基础云手机的默认配置信息如表2所示。

**表2 Kbox基础云手机的默认配置信息**

| 配置项 | Kbox基础云手机 |
| --- | --- |
| 场景 | 移动办公/托管 |
| vCPUs | 2 |
| 绑核策略 | 2容器/2核 |
| 内存 | 6GB |
| 系统存储 | 16GB |
| 分辨率 | 720\*1280 |


  启动脚本使用示例：启动一个编号为“1”的实例。 1 ./android_kbox_aosp15.sh start kbox:origin 1 启动容器的过程中可能会出现“writing syncT "procError"”、“exec /system/bin/chmod: no such file”等类似报错，该类报错不影响正常功能，忽略即可。 启动容器时，指定的${index1}对应容器绑定的端口，例如index1=10时，对应使用端口8010/8510。在启动时需要确保对应的端口没有被占用。 可以通过以下指令查询Kbox内核动态开关状态。 1 cat /sys/kernel/kbox/kbox_enable 回显为“1”，表示Kbox内核动态开关为打开状态；回显为“0”，表示Kbox内核动态开关为关闭状态。 若查询发现Kbox内核动态开关为关闭状态，请通过以下指令手动打开该开关。 1 echo 1 > /sys/kernel/kbox/kbox_enable

3. 执行如下命令确认Kbox容器是否启动成功，其中“${index}”为启动实例的编号。
  1 docker exec -it kbox_${index} getprop | grep boot_completed

  若回显信息中的sys.boot_completed显示为“1”，则启动成功。

4. 可选：停止并删除Kbox容器的方法。
  由于Kbox方案默认挂载数据卷，默认的docker stop、docker rm命令不能彻底清理容器数据，需要使用脚本彻底清理主机侧文件。

  使用android_kbox_aosp15.sh脚本，停止并删除正在运行的Kbox容器。

  停止并删除编号为${index}的容器。 1 ./android_kbox_aosp15.sh delete ${index}

5. 可选：重启Kbox容器的方法。
  由于Kbox方案默认挂载数据卷，在重启容器时，无法使用默认的docker restart命令进行重启，需要使用脚本执行容器的重启操作。

  使用android_kbox_aosp15.sh脚本重启Kbox容器。

  重启编号为${index}的容器。 1 ./android_kbox_aosp15.sh restart ${index}
