ID บทความ: 000088062 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 08/02/2022

ฉันจะตั้งค่า Stack และ Heap ในไฟล์กําหนดค่า Enclave เพื่อจัดสรรหน่วยความจําที่เพียงพอสําหรับการขยายได้อย่างไร

BUILT IN - ARTICLE INTRO SECOND COMPONENT
สรุปข้อมูล

ใช้เครื่องมือ "sgx_emmt" เพื่อกําหนดจํานวนสแตกและหน่วยความจํา heap เพื่อจัดสรรสําหรับขอบเขตในไฟล์กําหนดค่าขอบเขต

คำอธิบาย
  • ในไฟล์กําหนดค่าขอบเขต ระบุ StackMaxSize และ HeapMaxSize เป็น 32 GB แต่ละตัวเพื่อให้แน่ใจว่ามีการจัดสรรหน่วยความจําที่เพียงพอสําหรับการปิด
  • การคอมไพล์ล้มเหลวเนื่องจากหน่วยความจําที่ร้องขอมีขนาดใหญ่เกินไป
ความละเอียด

โปรดดู ที่ ส่วน เครื่องมือวัดหน่วยความจําขอบเขต ใน SGX Developer Reference for Linux* (มีให้ใน Intel® SGX Linux เอกสารล่าสุด) สําหรับรายละเอียดเกี่ยวกับการใช้ sgx_emmt เพื่อวัดการใช้งานจริงของหน่วยความจําที่ได้รับการปกป้องโดยขอบเขตในขณะรันไทม์

ปัจจุบันเครื่องมือวัดหน่วยความจําแบบขอบเขตมีฟังก์ชันต่อไปนี้:

  1. รับค่าการใช้งานstack peakสําหรับขอบเขต
  2. รับค่าการใช้งานสูงสุด Heap สําหรับขอบเขต
  3. รับค่าการใช้งานสูงสุดของหน่วยความจําที่สงวนไว้สําหรับขอบเขต

เครื่องมือจะรายงานขนาดการใช้งานหน่วยความจําเป็น KB หลังจากที่คุณได้รับข้อมูลการใช้หน่วยความจําที่แม่นยําสําหรับขอบเขตของคุณแล้ว ให้ แก้ไข ไฟล์กําหนดค่าขอบเขตตามข้อมูลนี้เพื่อใช้หน่วยความจําที่ป้องกันไว้อย่างเต็มรูปแบบ

ข้อมูลเพิ่มเติม

หาก StackMaxSize และ HeapMaxSize ในไฟล์กําหนดค่าแบบขยายเป็นมากกว่าหน่วยความจําที่มีอยู่ในระบบ อาจเกิดข้อผิดพลาดในการคอมไพล์หรือหน่วยความจํารันไทม์

ข้อมูลอ้างอิงนักพัฒนา SGX สําหรับ Linux ล่าสุดอยู่ใน เอกสารล่าสุดของ Linux Intel® SGX

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้