以大堆大小初始化Intel® Software Guard Extensions(Intel® SGX)指定位址區速度緩慢
內容類型: 維護與效能 | 文章 ID: 000089477 | 最近查看日期: 2022 年 02 月 14 日
原因:
預計要為指定位址堆初始化大量的記憶體,將需要相當長的時間。在指定位址區中初始化並新增記憶體至指定位址區(EPC),遠比一般應用程式中簡單的記憶體配置要複雜得多。在將一塊記憶體加入 EPC 之前,它必須經過數次安全檢查,包括使用 256 位 SHA-2 安全雜湊功能進行測量。
請參閱 SGX 說明中的第 5.1、5.3、5.6 節,以及 Intel SGX 指定生命週期中的 EADD 和 EEXTEND 說明。
緩解:
如果處理器在指定位址配置檔案中支援 Intel® Software Guard Extensions (Intel® SGX) SGX2:
HeapInitSize 是要在指定地點啟動時完全初始化 (即 EADD 頁面然後 EEXTEND 它) 的金額,這需要時間。初始化大小最小,速度會更快,而其餘的記憶體只會在運行期間透過 malloc 在指定指定位址時,使用 SGX2 指令新增。