記事 ID: 000088062 コンテンツタイプ: トラブルシューティング 最終改訂日: 2022/02/08

エンクレーブに十分なメモリーを割り当てるために、エンクレーブ構成ファイルにスタックと山を設定するにはどうすればよいですか?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
概要

「sgx_emmt」ツールを使用して、エンクレーブ構成ファイル内のエンクレーブに割り当てるスタックと山のメモリーの量を確認します。

詳細
  • エンクレーブ構成ファイルで StackMaxSizeHeapMaxSize をそれぞれ 32 GB に指定し、エンクレーブに十分なメモリーが割り当てられていることを確認します。
  • 要求されたメモリーが大きすぎるため、コンパイルに失敗しました。
解決方法

sgx_emmtを使用してエンクレーブによってランタイム時に保護されたメモリーの実際の使用量を測定する方法の詳細については、SGX Linux* 開発者リファレンス (インテル® SGX Linux* の最新ドキュメントで入手可能) の Enclave Memory Measurement Tool セクションを参照してください。

現在、エンクレーブ・メモリー測定ツールは以下の機能を提供しています。

  1. エンクレーブのstack peak使用値を取得します。
  2. エンクレーブのピーク使用値を取得します。
  3. エンクレーブの予約メモリーのピーク使用値を取得します。

このツールは、メモリー使用量のサイズを KB 単位で報告します。エンクレーブのメモリー使用情報を正確に取得したら、この情報に基づいてエンクレーブ構成ファイルを 編集 して、保護されたメモリーをフルに活用します。

追加情報

エンクレーブ構成ファイルの StackMaxSizeHeapMaxSize がシステムで利用可能なメモリーより多い場合、コンパイルまたはランタイム・メモリーのエラーが発生する可能性があります。

Linux* 向け最新 SGX 開発者リファレンスは、 インテル® SGX Linux* の最新ドキュメントにあります。

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。