「sgx_emmt」ツールを使用して、エンクレーブ構成ファイル内のエンクレーブに割り当てるスタックと山のメモリーの量を確認します。
- エンクレーブ構成ファイルで StackMaxSize と HeapMaxSize をそれぞれ 32 GB に指定し、エンクレーブに十分なメモリーが割り当てられていることを確認します。
- 要求されたメモリーが大きすぎるため、コンパイルに失敗しました。
sgx_emmtを使用してエンクレーブによってランタイム時に保護されたメモリーの実際の使用量を測定する方法の詳細については、SGX Linux* 開発者リファレンス (インテル® SGX Linux* の最新ドキュメントで入手可能) の Enclave Memory Measurement Tool セクションを参照してください。
現在、エンクレーブ・メモリー測定ツールは以下の機能を提供しています。
- エンクレーブのstack peak使用値を取得します。
- エンクレーブのピーク使用値を取得します。
- エンクレーブの予約メモリーのピーク使用値を取得します。
このツールは、メモリー使用量のサイズを KB 単位で報告します。エンクレーブのメモリー使用情報を正確に取得したら、この情報に基づいてエンクレーブ構成ファイルを 編集 して、保護されたメモリーをフルに活用します。
エンクレーブ構成ファイルの StackMaxSize と HeapMaxSize がシステムで利用可能なメモリーより多い場合、コンパイルまたはランタイム・メモリーのエラーが発生する可能性があります。
Linux* 向け最新 SGX 開発者リファレンスは、 インテル® SGX Linux* の最新ドキュメントにあります。