Direkt zum Inhalt

Wie überprüfe ich die Ressourcenauslastung für meine SageMaker-KI-Notebook-Instance?

Lesedauer: 4 Minute
0

Ich habe eine Amazon-SageMaker-KI-Notebook-Instance gestartet, um Modelle zu trainieren oder große Datensätze zu laden, und die Notebook-Instance scheint eingefroren zu sein. Ich kann die Ressourcennutzung meiner SageMaker-KI-Instance nicht einsehen.

Lösung

Wenn die SageMaker-Browser- oder Notebook-Instances nicht reagieren, führe einen Amazon Linux-Befehl aus oder überprüfe die Amazon CloudWatch-Metriken, um die Ressourcenzuweisung einzusehen.

Führe einen Linux-Befehl aus, um die SageMaker-KI-Ressourcenauslastung anzuzeigen

Führe die folgenden Schritte aus:

  1. Öffne die SageMaker-KI-Konsole.
  2. Wähle im Navigationsbereich Notebook-Instances aus.
  3. Öffne neben der SageMaker-KI-Notebook-Instance Jupyter oder JupyterLab.
  4. Öffne das Terminal.
  5. Führe die folgenden Befehle aus, um die Ressourcenzuweisung anzuzeigen.
    Verfügbarer Systemspeicher und Prozessorlast:
    top
    Laufende Aufgaben und Prozessorlast:
    ps -ax
    Speicherplatznutzung und Verfügbarkeit:
    df -h
    RAM-Auslastung und Verfügbarkeit:
    free -m

Verwende CloudWatch-Metriken, um die SageMaker-KI-Ressourcenauslastung anzuzeigen

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Verwende ein Lifecycle-Skript. Beispielsweise veröffentlicht das Skript publish-instance-metrics die Metriken auf Systemebene von der Notebook-Instance in CloudWatch. Weitere Informationen findest du unter publish-instance-metrics / on-start.sh auf der GitHub-Website.

**Hinweis:**Um Instance-Metriken an CloudWatch zu senden, müssen Instances eine AWS Identity and Access Management (IAM)-Ausführungsrolle übernehmen. Füge der IAM-Richtlinie, die der Ausführungsrolle zugeordnet ist, die Cloudwatch:PutMetricData-Berechtigung hinzu.

Beispiel für eine Richtlinie:

{   
   "Version": "2012-10-17",   
   "Statement": [   
     {   
            "Effect":   
            "Allow",   
            "Action": [   
                "cloudwatch:PutMetricData"   
            ],   
            "Resource": "*"   
            }   
     ]   
}

Wenn du CloudWatch-Protokolle für die Lebenszykluskonfiguration aktivierst, verwende eine SageMaker-Rolle mit den folgenden Berechtigungen:

{   
   "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": "*"   
            }  
    ]   
}

Stelle sicher, dass die Notebook-Instance über eine Internetverbindung verfügt, um die Konfigurationsdatei amazon-cloudwatch-agent.json abzurufen, damit das Skript nicht fehlschlägt. Wenn auf dem Notebook kein Internetzugang verfügbar ist, lade die JSON-Datei manuell von GitHub auf den lokalen Computer herunter. Lade die Datei in einen Amazon Simple Storage Service (Amazon S3)-Bucket hoch und ändere dann den Bash-Code, um die Konfigurationsdatei aus dem S3-Bucket zu kopieren. Führen im LLC-Skript „on-start.sh“ den Befehl wget aus, um die Zeile zu entfernen, die den Befehl wget verwendet. Füge dann den s3 cp-AWS CLI-Befehl hinzu, um die JSON-Datei aus dem S3-Bucket in ein Verzeichnis zu kopieren. Es hat sich bewährt, die CloudWatch-Agent-Datei in einem Verzeichnis abzulegen und dann den folgenden Befehl auszuführen, um den Agent zu starten:

``/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a \
append-config -m ec2 -c file://$(pwd)/amazon-cloudwatch-agent.json

Stelle sicher, dass du Virtual Private Clound PC (VPC)-Endpunkte der Schnittstelle erstellst, damit du auf andere AWS-Services wie Amazon S3 und CloudWatch zugreifen kannst.

Konfiguriere das SageMaker-KI-Notebook für die Anzeige von CloudWatch-Metriken

Führe die folgenden Schritte aus:

  1. Öffne die SageMaker-KI-Konsole.

  2. Wähle im Navigationsbereich Notebook-Instances aus.

  3. Öffne neben dem SageMaker-Notebook Jupyter oder Jupyterlab.

  4. Öffne das Terminal.

  5. Führe den folgenden Befehl aus, um amazon-cloudwatch-agent-config-wizard zu öffnen:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  6. Folge den Schritten des Assistenten, und führe dann, wenn du dazu aufgefordert wirst, die folgenden Schritte aus:
    Wähle On-Premises-Host.
    Wähle für **StatsD Daemon ** Nein.
    Wähle für collectD Nein.

  7. Führe den folgenden Befehl aus, um den CloudWatch-Agent auf dem Server zu starten, und füge die config.json-Datei hinzu, die der Assistent erstellt hat:

    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. Öffne die CloudWatch-Konsole.

  9. Wähle Metriken und dann CWAgent, um die SageMaker-KI-Metriken anzuzeigen.

Weitere Beispiele für AWS-Lebenszykluskonfigurationsskripts für SageMaker-KI-Notebooks findest du unter amazon-sagemaker-notebook-instance-lifecycle-config-samples auf der GitHub-Website.

Ähnliche Informationen

Metriken für die Überwachung von Amazon-SageMaker-KI mit Amazon CloudWatch

Vom CloudWatch-Agent gesammelte Metriken

Tools zur Überwachung der AWS-Ressourcen, die während der Verwendung von Amazon-SageMaker-KI bereitgestellt werden

Terminals auf der JupyterLab-Website