Skip to main content

الوصف

صف واحد لكل تخصيص ذاكرة نشط تم أخذ عيّنة منه بواسطة مُحلِّل أداء الكومة في jemalloc؛ وقراءة الجدول تُنشئ ملف تعريف كومة جديدًا وتكتبه. ولا تساهم في ذلك سوى الخيوط التي جرى تفعيل مُحلِّل الأداء لها (عبر الإعداد jemalloc_enable_profiler أو التهيئة jemalloc_enable_global_profiler)؛ ويمثّل كل صف ما يقارب weight من التخصيصات المتشابهة.

الأعمدة

  • trace (Array(UInt64)) — عناوين التتبع الخلفي للتخصيص، مع الإطار الطرفي أولاً (وفق الاصطلاح نفسه في system.trace_log.trace). حوّل العناوين إلى رموز باستخدام addressToSymbol وdemangle (يتطلب allow_introspection_functions).
  • age_ns (UInt64) — المدة بالنانوثانية التي ظل فيها التخصيص قائماً، نسبةً إلى لحظة تفريغ ملف التعريف.
  • size (UInt64) — حجم التخصيص المطلوب بالبايت.
  • usize (UInt64) — الحجم القابل للاستخدام بالبايت، أي فئة الحجم التي قُرّب الطلب إليها لأعلى.
  • size_class (UInt16) — فهرس فئة الحجم. يرتبط بـ system.jemalloc_bins.index لفئات الحجم الصغيرة.
  • arena (UInt32) — فهرس منطقة الذاكرة التي خُدِم منها التخصيص.
  • thr_uid (UInt64) — المعرّف الفريد الداخلي في jemalloc لخيط التنفيذ الذي أجرى التخصيص.
  • sample_interval (UInt64) — متوسط عدد البايتات المخصصة بين العينات، مأخوذ من ترويسة ملف التعريف. وهو متطابق لجميع الصفوف.
الأسماء المستعارة:
  • alloc_time — اسم مستعار لـ now() - intDiv(age_ns, 1000000000).
  • weight — اسم مستعار لـ 1 / (1 - exp((-usize) / sample_interval)).
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦