

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在亚马逊 SageMaker Studio 经典版中调试生命周期配置
<a name="studio-lcc-debug"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

以下主题介绍了如何获取生命周期配置的相关信息并进行调试。

**Topics**
+ [通过 CloudWatch 日志验证生命周期配置流程](#studio-lcc-debug-logs)
+ [JupyterServer 应用程序失败](#studio-lcc-debug-jupyterserver)
+ [KernelGateway 应用程序失败](#studio-lcc-debug-kernel)
+ [生命周期配置超时](#studio-lcc-debug-timeout)

## 通过 CloudWatch 日志验证生命周期配置流程
<a name="studio-lcc-debug-logs"></a>

生命周期配置仅记录 `STDOUT` 和 `STDERR`。

`STDOUT` 是 bash 脚本的默认输出。您可以通过在 bash 命令的末尾追加 `>&2` 来写入 `STDERR`。例如 `echo 'hello'>&2`。

您的生命周期配置日志将 AWS 账户 使用 Amazon 发布给您 CloudWatch。这些日志可以在 CloudWatch 控制台的`/aws/sagemaker/studio`日志流中找到。

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 从左侧选择**日志**。从下拉菜单中，选择**日志组**。

1. 在**日志组**页面上，搜索 `aws/sagemaker/studio`。

1. 选择日志组。

1. 在**日志组详细信息**页面上，选择**日志流**选项卡。

1. 要查找特定应用程序的日志，请使用以下格式搜索日志流：

   ```
   {{domain-id}}/{{space-name}}/{{app-type}}/default/LifecycleConfigOnStart
   ```

   例如，要查找域 `d-m85lcu8vbqmz`、空间名称 `i-sonic-js` 和应用程序类型 `JupyterLab` 的生命周期配置日志，请使用以下搜索字符串：

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## JupyterServer 应用程序失败
<a name="studio-lcc-debug-jupyterserver"></a>

如果您的 JupyterServer 应用程序因附加的生命周期配置出现问题而崩溃，Studio Classic 会在 Studio Classic 启动屏幕上显示以下错误消息。

```
Failed to create SageMaker Studio due to start-up script failure
```

选择该`View script logs`链接以查看您的 JupyterServer 应用程序的 CloudWatch 日志。

如果在域、用户配置文件或共享空间的 `DefaultResourceSpec` 中指定了错误的生命周期配置，那么即使重新启动 Studio Classic，Studio Classic 也会继续使用该生命周期配置。

要解决此错误，请按照 [为 Amazon SageMaker Studio 经典版设置默认生命周期配置](studio-lcc-defaults.md) 中的步骤从 `DefaultResourceSpec` 中删除生命周期配置脚本，或选择其他脚本作为默认脚本。然后启动一个新 JupyterServer 应用程序。

## KernelGateway 应用程序失败
<a name="studio-lcc-debug-kernel"></a>

如果您的 KernelGateway 应用程序因附加的生命周期配置出现问题而崩溃，Studio Classic 会在您的 Studio Classic 笔记本中显示错误消息。

选择`View script logs`查看您的 KernelGateway应用程序的 CloudWatch 日志。

在这种情况下，您的生命周期配置是在启动新的 Studio Classic 笔记本时在 Studio Classic 启动程序中指定的。

要解决此错误，请使用 Studio Classic 启动程序选择不同的生命周期配置或选择 `No script`。

**注意**  
中指定的默认 KernelGateway 生命周期配置`DefaultResourceSpec`适用于域、用户配置文件或共享空间中的所有 KernelGateway 图像，除非用户从 Studio Classic 启动器中显示的列表中选择不同的脚本。如果用户选择了 `No Script`，默认脚本也会运行。有关选择脚本的更多信息，请参阅 [步骤 3：使用生命周期配置启动应用程序](studio-lcc-create-console.md#studio-lcc-create-console-step3)。

## 生命周期配置超时
<a name="studio-lcc-debug-timeout"></a>

生命周期配置超时限制为 5 分钟。如果生命周期配置脚本的运行时间超过 5 分钟，Studio Classic 就会抛出错误。

要解决此错误，请确保生命周期配置脚本在 5 分钟内完成。

为了缩短脚本的运行时间，请尝试以下方法：
+ 减少所需的步骤。例如，限制在哪些 conda 环境中安装大型软件包。
+ 在并行进程中运行任务。
+ 在脚本中使用 `nohup` 命令可确保忽略挂起信号，并且不会停止脚本的执行。