跳至內容

如何查看 SageMaker AI 筆記本執行個體的資源使用率?

2 分的閱讀內容
0

我啟動了一個 Amazon SageMaker AI 筆記本執行個體來訓練模型或載入大型資料集,但該筆記本執行個體似乎凍結了。我無法查看 SageMaker AI 執行個體資源使用情況。

解決方法

當您的 SageMaker 瀏覽器或筆記本執行個體顯示沒有回應時,請執行 Amazon Linux 命令或檢閱 Amazon CloudWatch 指標,以檢視您的資源分配。

執行 Linux 命令以查看 SageMaker AI 資源使用率

請完成下列步驟:

  1. 開啟 SageMaker AI console (SageMaker AI 主控台)。
  2. 在導覽窗格中,選擇 Notebook instances (筆記本執行個體)。
  3. 在 SageMaker AI 筆記本執行個體旁,開啟 JupyterJupyterLab
  4. 打開終端。
  5. 執行下列命令以檢視您的資源分配。
    可用的系統記憶體和處理器負載:
    top
    正在執行的任務和處理器負載:
    ps -ax
    磁碟空間使用率和可用性:
    df -h
    RAM 使用率和可用性:
    free -m

使用 CloudWatch 指標來檢視 SageMaker AI 資源使用率

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

使用生命週期指令碼。例如,publish-instance-metrics 指令碼會將筆記本執行個體中的系統層級指標發佈到 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": "*"   
            }  
    ]   
}

請確定筆記本執行個體具有網際網路連線,以取得 amazon-cloudwatch-agent.json 組態檔,這樣指令碼就不會失敗。如果筆記本無法存取網際網路,請手動將 .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 AI 筆記本以查看 CloudWatch 指標

請完成下列步驟:

  1. 開啟 SageMaker AI console (SageMaker AI 主控台)。

  2. 在導覽窗格中,選擇 Notebook instances (筆記本執行個體)。

  3. 在 SageMaker 筆記本旁,開啟 JupyterJupyterlab

  4. 打開終端。

  5. 執行以下命以開啟 amazon-cloudwatch-agent-config-wizard

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  6. 依照精靈中的步驟操作,然後在出現提示時完成以下步驟:
    選擇 On-premises host (內部部署主機)。
    StatsD Daemon 中,選擇 no (否)。
    CollectD 中,選擇 no (否)。

  7. 執行下列命令以在伺服器上啟動 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
  8. 開啟 CloudWatch console (CloudWatch 主控台)。

  9. 選擇 Metrics (指標),然後選擇 CWAgent 來查看您的 SageMaker AI 指標。

若要檢視 SageMaker AI 筆記本的其他 AWS 生命週期組態指令碼範例,請參閱 GitHub 網站上的 amazon-sagemaker-notebook-instance-lifecycle-config-samples

相關資訊

使用 Amazon CloudWatch 監控 Amazon SageMaker AI 的指標

CloudWatch 代理程式收集的指標

使用 Amazon SageMaker AI 時,用於監控已佈建 AWS 資源的工具

JupyterLab 網站上的終端