
# 如何解决因内存溢出导致沙箱任务终止的问题？
#### 问题现象
在沙箱中运行任务时，任务异常终止并提示如下信息：任务因沙箱内存溢出而终止，请增大沙箱内存规格或点击"运行"转为沙箱外运行。
#### 原因分析
在沙箱隔离运行环境中，您可通过sandbox.json配置文件自定义沙箱的CPU和内存规格。当任务运行过程中实际内存占用超过所配置的内存上限时，系统会因内存溢出（OOM）强制终止任务，导致执行失败。常见触发场景包括：
- 处理的数据量较大，超出当前内存规格承载能力。
- 任务中运行了内存占用较高的程序或服务。
- 沙箱内存规格配置偏低，不足以支撑任务负载。
 
#### 解决方法
针对上述问题，您可以参考以下两种解决方案进行处理。方案选择建议如下，请结合实际情况进行选择。
表1方案选择建议 
| **对比项** | **增大沙箱内存规格**    | **转为沙箱外运行**     |
|:---|:---|:---|
| 内存限制    | 受沙箱规格上限约束       | 无硬性限制           |
| 环境隔离    | 沙箱隔离，安全可控       | 无隔离             |
| 适用场景    | 任务内存需求可控，希望保持隔离 | 任务内存需求大，且内容安全可信 |
| 操作成本    | 需调整配置后重新运行      | 一键切换，即时生效       |
   
**建议优先选择方案一**，在保持沙箱隔离安全性的前提下解决问题。当内存需求超出沙箱规格上限或需要快速恢复任务时，可选择方案二。
#### 方案一：增大沙箱内存规格
通过修改sandbox.json配置文件中resources.memory的值，调整沙箱内存上限。
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)中操作，登录华为云码道代码智能体IDE。
2. 单击华为云码道代码智能体IDE右上角的设置图标 ![](https://support.huaweicloud.com/codeartsagent_faq/zh-cn_image_0000002647767322.png)，进入全局设置页面。
3. 在设置页面的左侧导航栏中，选择"对话流"。
4. 在"智能体 \> 终端命令运行模式 \> 沙箱自定义配置"中，单击"打开配置"，进入sandbox.json文件。
5. 修改sandbox.json配置文件中**resources.memory** 的值。
   
   ```
   {
     "resources": {
       "cpu": 50,
       "memory": 4
     }
   }
   ```
   
   
6. 保存配置文件，重新运行任务。 
   如果调整后仍反复出现内存溢出，建议检查任务逻辑是否存在内存泄漏（如大对象未及时释放、循环中持续累积数据等）。
   
   
 
#### 方案二：转为沙箱外运行
将智能体的终端命令运行模式切换至沙箱外环境运行，不受沙箱内存规格限制。
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)中操作，登录华为云码道代码智能体IDE。
2. 单击华为云码道代码智能体IDE右上角的设置图标 ![](https://support.huaweicloud.com/codeartsagent_faq/zh-cn_image_0000002677864183.png)，进入全局设置页面。
3. 在设置页面的左侧导航栏中，选择"对话流"。
4. 在"智能体 \> 终端命令运行模式"右侧的下拉框中，选择"手动模式"。 
   设置为手动模式后，智能体执行任何命令前，都会向您发送确认提示，需要您手动确认后，命令才会继续执行。
   **为了确保安全，不建议启用"自动运行"模式。此模式会绕过所有安全检查，可能在未经提醒的情况下执行高风险操作。**
   
   
 
