使用「sgx_emmt」工具來判斷堆疊和堆疊記憶體的數量,以分配給指定位址區配置檔案中的指定位址區。
- 在指定的飛地配置檔案中, 將 StackMaxSize 和 HeapMaxSize 指定為 32 GB,以確保為指定指定位址區分配足夠的記憶體。
- 編譯失敗,因為要求的記憶體太大。
請參閱 SGX Developer Reference for Linux* 中的 Enclave Memory Measurement Tool 區段(Intel® SGX Linux 最新檔提供),以取得使用 sgx_emmt 測量執行時間指定位址所保護記憶體的實際使用方式的詳細資訊。
目前,飛地記憶體測量工具提供下列功能:
- 取得指定位址的stack peak使用值。
- 取得指定位址的堆尖使用值。
- 取得指定位址的保留記憶體峰值使用值。
該工具報告 KB 中的記憶體使用大小。取得指定位址區的精確記憶體使用資訊後,請根據此資訊 編輯 指定位址區配置檔案,以充分利用受保護的記憶體。
如果指定位址配置檔案中的 StackMaxSize 和 HeapMaxSize 大於系統中可用的記憶體,則可能會發生編譯或執行時間記憶體錯誤。
Linux 的最新 SGX 開發者參考 Intel® SGX Linux 最新檔