モデルのトレーニングや大規模なデータセットのロードのために Amazon SageMaker ノートブックインスタンスを起動しましたが、ノートブックインスタンスがフリーズしているようです。SageMaker インスタンスのリソース使用状況を確認する方法を教えてください。
解決方法
SageMaker ノートブックインスタンスのリソースを使用してプロトタイプを作成したり、モデルをトレーニングしたり、大規模なデータセットを操作したりすると、SageMaker のブラウザまたはノートブックのインスタンスが応答しないように見えることがあります。ブラウザまたはノートブックのインスタンスが応答しないように見える場合は、SageMaker のリソース使用率を表示して現在のリソース使用状況を確認できます。
以下の方法のいずれかを使用して、SageMaker のリソース使用率を表示できます。
- Linux ベースのコマンドの実行
- Amazon CloudWatch メトリクスの確認
Linux コマンドによる SageMaker リソース使用率の表示
SageMaker ノートブックインスタンスは Amazon Linux をベースにしています。SageMaker ターミナルから Linux コマンドを実行して、SageMaker リソースの使用状況を確認できます。
SageMaker Linux コマンドを実行してリソースの使用状況を確認するには、次の操作を行います。
1.SageMaker コンソールを開きます。
2.ナビゲーションペインで、[Notebook Instances] (ノートブックインスタンス) を選択します。
3.選択した SageMaker ノートブックインスタンスの横にある Jupyter または JupyterLab を開きます。
4.ターミナルを開きます。
5.以下のコマンドを実行して、SageMaker のリソース使用率を表示します。
top
上記のコマンドは、使用可能なシステムメモリ (RAM) とプロセッサの負荷を表示します。
ps -ax
前述のコマンドは、実行中のタスクとプロセッサの負荷を表示します。
df -h
前述のコマンドは、ディスク容量の使用率と可用性を表示します。
free -m
前述のコマンドは、システムメモリ (RAM) の使用率と可用性を表示します。
CloudWatch を使用して SageMaker リソース使用率を表示する
CloudWatch では、ライフサイクル設定スクリプトを使用して SageMaker リソースの使用状況を確認できます。例えば、publish-instance-metrics スクリプトは、ノートブックインスタンスから CloudWatch にシステムレベルのメトリクスをパブリッシュします。
CloudWatch からのすべてのメトリクスを表示するように SageMaker ノートブックインスタンスを設定するには:
1.SageMaker コンソールを開きます。
2.ナビゲーションペインで、[Notebook Instances] (ノートブックインスタンス) を選択します。
3.選択した SageMaker ノートブックインスタンスの横にある[Jupyter または Jupyterlab を開く] を選択します。
4.ターミナルを開きます。
5.次のコマンドを入力して amazon-cloudwatch-agent-config-wizard を開きます。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
6.ウィザードの手順に従います。プロンプトが表示されたら、次の操作を行います。
- [オンプレミスホスト] を選択
- [StatsD Daemon] では [no] を選択
- [CollectD] では [no] を選択
7.ウィザードが完了すると、config.json ファイルが自動的に作成されます。このファイルは次のステップで使用します。
8.以下のコマンドを使用して、サーバーで CloudWatch エージェントを起動します。
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
9.CloudWatch コンソールから [メトリクス] を選択し、次に [CWAgent] を選択します。
10.CWAgent には、現在の SageMaker メトリクスが表示されます。
SageMaker ノートブック用の AWS ライフサイクル設定スクリプトの例の詳細については、amazon-sagemaker-notebook-instance-lifecycle-config-samples を参照してください。
関連情報
Amazon CloudWatch で Amazon SageMaker を監視する
CloudWatch エージェントによって収集されたメトリクス
Amazon SageMaker をモニター
ターミナル - ターミナル用の Jupyter プロジェクトドキュメント