大きなアレイをエンクレーブに渡すためにエンクレーブ構成を調整する方法。
- ecall を介して非常に大きな配列をエンクレーブに渡そうとしました。
- 受信エラー: セグメンテーション障害 (コアダンプ)
- 配列のサイズを縮小し、それをエンクレーブに正常に渡すことができました。
大きなアレイを渡すのに十分なメモリがエンクレーブに割り当てされていません。
Enclave 構成ファイルの enclave.config.xml では、エンクレーブに割り当てるヒープメモリーの量を増やします。
- 増加 HeapInitSize
- SGX 2 を搭載したプラットフォームで HeapMinSize と HeapMaxSize を調整します。
- 減らす TCSNUM は可能であれば、スレッド数を増やすとより多くのメモリーを必要とするためです。
エンクレーブ・メモリー測定ツールを使用して、エンクレーブのメモリーを測定することで、ヒープ・サイズを適宜設定できます。スレッド数が増えるほど、より多くのメモリーが必要になります。
エンクレーブ構成ファイルのパラメーターの設定の詳細については、OS の インテル® SGX 開発者リファレンス・ガイド を参照してください。
- Linux* 向け最新インテル® SGX開発者リファレンスは、Linux* の最新ドキュメントインテル® SGXにあります。
- Windows* 用インテルインテル® SGX開発者リファレンスは、 インテル® SGX SDK for Windows* のインストール・パッケージとともに配布されています。