Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何检查我的 SageMaker 人工智能 Notebook 实例的资源利用率?
我启动了一个 Amazon SageMaker 人工智能 Notebook 实例来训练模型或加载大型数据集,但 Notebook 实例似乎被冻结了。我无法查看我的 SageMaker 人工智能实例资源使用情况。
解决方法
当您的 SageMaker 浏览器或 Notebook 实例出现无响应时,运行 Amazon Linux 命令或检查 Amazon CloudWatch 指标以查看您的资源分配。
运行 Linux 命令以查看 SageMaker 人工智能资源利用率
完成以下步骤:
- 打开 SageMaker 人工智能控制台。
- 在导航窗格中,选择 Notebook instances(Notebook 实例)。
- 在 SageMaker 人工智能 Notebook 实例旁边,打开 Jupyter 或 JupyterLab。
- 打开终端。
- 运行以下命令以查看您的资源分配。
可用系统内存和处理器负载:
正在运行的任务和处理器负载:top
磁盘空间利用率和可用性:ps -ax
RAM 利用率和可用性:df -hfree -m
使用 CloudWatch 指标查看 SageMaker 人工智能资源利用率
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
使用生命周期脚本。例如,publish-instance-metrics 脚本将系统级指标从 Notebook 实例发布到 CloudWatch。有关详细信息,请参阅 GitHub 网站上的 publish-instance-metrics / on-start.sh。
**注意:**要向 CloudWatch 发送实例指标,实例必须代入 AWS Identity and Access Management (IAM) 执行角色。将 cloudwatch:PutMetricData 权限添加到附加到执行角色的 IAM 策略中。
策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*" } ] }
当您为生命周期配置启用 CloudWatch Logs 时,请使用具有以下权限的 SageMaker 角色:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery" ], "Resource": "*" } ] }
确保 Notebook 实例具有互联网连接以获取 amazon-cloudwatch-agent.json 配置文件,以免脚本失败。如果 Notebook 上无法访问互联网,请手动将 .json 文件从 GitHub 下载到本地计算机。将文件上传到 Amazon Simple Storage Service (Amazon S3) 存储桶,然后修改 bash 代码以从 S3 存储桶中复制配置文件。在 on-start.sh LLC 脚本中,运行 wget 命令以删除使用 wget 命令的行。然后,添加 s3 cp AWS CLI 命令以将 .json 文件从 S3 存储桶复制到一个目录中。最佳做法是将 CloudWatch 代理文件放在一个目录中,然后运行以下命令启动代理:
``/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a \ append-config -m ec2 -c file://$(pwd)/amazon-cloudwatch-agent.json
确保创建接口虚拟私有云 (VPC) 端点,以便您可以访问其他 AWS 服务,例如 Amazon S3 和 CloudWatch。
配置 SageMaker 人工智能 Notebook 以查看 CloudWatch 指标
完成以下步骤:
-
在导航窗格中,选择 Notebook instances(Notebook 实例)。
-
在 SageMaker Notebook 旁边,打开 Jupyter 或 Jupyterlab。
-
打开终端。
-
运行以下命令打开 amazon-cloudwatch-agent-config-wizard:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard -
按照向导中的步骤进行操作,然后在出现提示时完成以下步骤:
选择 On-premises host(本地主机)。
对于 StatsD Daemon(StatsD 守护程序),选择 no(否)。
对于 CollectD,选择 no(否)。 -
运行以下命令以在服务器上启动 CloudWatch 代理,并添加向导创建的 config.json 文件:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:///opt/aws/amazon-cloudwatch-agent/bin/config.json -s -
打开 CloudWatch 控制台。
-
选择 Metrics(指标),然后选择 CWAgent 以查看您的 SageMaker 人工智能指标。
要查看其他适用于 SageMaker 人工智能 Notebook 的 AWS 生命周期配置脚本示例,请参阅 GitHub 网站上的 amazon-sagemaker-notebook-instance-lifecycle-config-samples。
相关信息
使用 Amazon CloudWatch 监控 Amazon SageMaker 人工智能的指标
用于监控使用 Amazon SageMaker 人工智能时预置的 AWS 资源的工具
JupyterLab 网站上的 Terminals
- 语言
- 中文 (简体)

