文章 ID: 000088062 内容类型: 故障排除 上次审核日期: 2022 年 02 月 08 日

如何在围圈配置文件中设置堆栈和堆栈,以为围圈分配足够的内存?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
总结

使用"sgx_emmt"工具确定堆栈和堆栈内存的数量,以便在飞地配置文件中为围圈分配一个飞地。

说明
  • 在围圈配置文件中,指定 StackMaxSizeHeapMaxSize 为每个 32 GB,以确保为围圈分配足够的内存。
  • 编译失败,因为请求的内存过大。
解决方法

有关使用sgx_emmt测量运行时围圈对受保护内存的实际使用情况的详细信息,请参阅 SGX Developer Reference for Linux* (适用于 英特尔® SGX Linux 最新文档中的 围圈内存测量工具部分。

目前,围圈内存测量工具提供了以下功能:

  1. 获取飞地的stack peak使用值。
  2. 获取飞地的堆峰使用值。
  3. 获取围圈的预留内存峰值使用值。

该工具报告 KB 中内存使用量的大小。获取有关围圈的准确内存使用信息后,根据此信息 编辑 围圈配置文件,以充分利用受保护的内存。

其他信息:

如果围圈配置文件中的 StackMaxSizeHeapMaxSize 大于系统中的可用内存,则可能会发生编译或运行时内存错误。

Linux 的最新 SGX 开发人员参考 英特尔® SGX Linux 最新文档

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。