عدادات أداء الذاكرة

فئة الذاكرة لـ .NET CLR لوحدة تحكم الأداء تحتوي على عدادات توفر معلومات حول حاوي المهملات. الجدول التالي يصف عدادات الأداء هذه.

عداد الأداء

الوصف

عدد وحدات البايت في جميع كومات الذاكرات المؤقتة

Displays the جمع of the Gen 1 كومة ذاكرة مؤقتة الحجم, Gen 2 كومة ذاكرة مؤقتة الحجم, و the قطر أيمن متوسط كائن كومة ذاكرة مؤقتة الحجم العدادات. يشير هذا العداد إلى الذاكرة الحالية المخصصة في وحدات البايت على كومات ذاكرات مجموعات البيانات المهملة.

# GC Handles

يعرض الرقم الحالي لمقابض مجموعات البيانات المهملة قيد الاستخدام. مقابض مجموعات البيانات المهملة عبارة عن مقابض لموارد خارجية بالنسبة لوقت تشغيل اللغة العامة والبيئة المدارة.

# Gen 0 Collections

يعرض عدد المرات التي تم فيها تجميع البيانات المهملة لكائنات الجيل 0 (أي، الأصغر، التي تم تخصيصها مؤخراً) منذ بدء تشغيل التطبيق.

يتم تفعيل تجميع البيانات المهملة للجيل 0 عندما تكون الذاكرة المتوفرة في الجيل 0 غير كافية لتنفيذ طلب تخصيص ذاكرة. يتم زيادة هذا العداد عند إنهاء تجميع البيانات المهملة للجيل 0. تتضمن عملية تجميع البيانات المهملة للأجيال الأعلى كل مجموعات الجيل الأقل. يتم زيادة هذا العداد بوضوح عندما يحدث جمع البيانات المهملة للأجيال (الجيل 1 أو 2) الأعلى.

يقوم هذا العداد بعرض أخر قيمة تم ملاحظتها. قيمة العداد _Global_ غير دقيقة ويجب تجاهلها.

# Gen 1 Collections

تعرض عدد المرات التي تم فيها تجميع البيانات المهملة لكائنات الجيل 1 منذ بدء تشغيل التطبيق.

يتم زيادة هذا العداد عند إنهاء تجميع البيانات المهملة للجيل 1. تتضمن عملية تجميع البيانات المهملة للأجيال الأعلى كل مجموعات الجيل الأقل. يتم زيادة هذا العداد بوضوح عندما يحدث جمع البيانات المهملة للأجيال (الجيل 2) الأعلى.

يقوم هذا العداد بعرض أخر قيمة تم ملاحظتها. قيمة العداد _Global_ غير دقيقة ويجب تجاهلها.

# Gen 2 Collections

تعرض عدد المرات التي تم فيها تجميع البيانات المهملة لكائنات الجيل 2 منذ بدء تشغيل التطبيق. يتم زيادة العدّاد عند إنهاء عملية تجميع البيانات المهملة للجيل 2 (تسمى أيضاً تجميع البيانات المهملة بشكل كامل).

يقوم هذا العداد بعرض أخر قيمة تم ملاحظتها. قيمة العداد _Global_ غير دقيقة ويجب تجاهلها.

# induced GC

يعرض عدد المرات القصوى التي تم فيها تجميع البيانات المهملة بسبب استدعاء صريح لـ GC.Collect. من الجيد للسماح لحاوي المهملات توليف تردد المجموعات الخاصة به.

# of Pinned Objects

يعرض عدد الكائنات المعلقة في البيانات المهملة الأخيرة. الكائن المعلق هو الذي لا يمكن لحاوي المهملات نقله في الذاكرة. يقوم هذا العداد بتتبع الكائنات المعلقة فقط في كومات الذاكرات المؤقتة التي تم تجميع البيانات المهملة فيها. على سبيل المثال، تجميع البيانات المهملة للجيل 0 يؤدي إلى تعداد الكائنات المعلقة فقط في كومة الذاكرة المؤقتة للجيل 0.

# of Sink Blocks in use

يعرض العدد الحالي لكتل المزامنة قيد الاستخدام. كتل المزامنة عبارة عن بنية بيانات لكل كائن يتم تخصيصها لتخزين معلومات المزامنة. كتل المزامنة تحمل مراجع ضعيفة لكائنات مُدارة ويجب أن يتم فحصها باستخدام حاوي المهملات. كتل المزامنة لا تقتصر إلى تخزين معلومات المزامنة، يمكنها أيضاً تخزين بيانات تعريف توافق COM. يشير هذا العداد إلى مشاكل تتعلق بأداء الاستخدام الكثيف لأوليات التزامن.

# Total committed Bytes

يعرض مقدار الذاكرة الظاهرية المحجوزة بالبايت بواسطة حاوي المهملات. الذاكرة المحجوزة هي الذاكرة الفعلية التي تم حجز مسافة لها في ملف ترحيل الصفحات بالقرص.

# Total reserved Bytes

يعرض مقدار الذاكرة الظاهرية. في وحدات البايت المحجوزة حالياً بواسطة حاوي المهملات. الذاكرة الاحتياطية هي مساحة الذاكرة الظاهرية المحجوزة للتطبيق ولكن لم يتم استخدام أية صفحات من القرص أو الذاكرة الرئيسية.

% Time in GC

يعرض النسبة المئوية للوقت المنقضي الذي تم إنفاقه على تنفيذ عملية تجميع البيانات المهملة منذ آخر دورة لتجميع البيانات المهملة. يشير هذا العداد عادةً إلى العمل المنجز بواسطة حاوي المهملات لتجميع ثم ضغط الذاكرة بالنيابة عن التطبيق. يتم تحديث هذا العداد فقط عند نهاية كل عملية تجميع البيانات المهملة. هذا العداد ليس متوسط، إنما تعكس قيمته آخر قيمة تمت ملاحظتها.

عدد وحدات البايت المخصصة/الثانية

يعرض عدد البايتات بالثانية التي يتم تخصيصها في كومة الذاكرة المؤقتة لعملية تجميع البيانات المهملة. يتم تحديث هذا العداد عند نهاية كل عملية تجميع بيانات مهملة، وليس عند كل عملية تخصيص. هذا العداد ليس متوسطاً عبر الوقت; تعرض الفرق بين القيم الملاحظة في العينتين الأخيرتين مقسومة على الفاصل الزمني للعينة.

Finalization Survivors

يعرض عدد الكائنات التي تم تجميعها من قبل حاوي المهملات التي عاشت العملية لأنها تقوم بانتظار عملية إنهاؤها. إذا كانت هذه الكائنات تحمل مراجع إلى كائنات أخرى، تعيش هذه الكائنات أيضاً ولكن لا يتم حسابها بواسطة هذا العداد. العدادان Promoted Finalization-Memory from Gen 0 و Promoted Finalization-Memory from Gen 1 يمثلان كل الذاكرة التي عاشت بسبب عملية الإنهاء.

هذا العداد غير تراكمي، يتم تحديثه عند إنهاء كل عملية تجميع للبيانات المهملة بعدد الكائنات التي عاشت أثناء عملية التجميع تلك. يشير هذا العداد إلى مقدار الحمل الإضافي الذي يتسبب به التطبيق لوجود عمليات الإنهاء.

Gen 0 heap size

يعرض وحدات البايت القصوى التي يمكن تخصيصها في الجيل 0، ولا يشير إلى عدد البايتات الحالية المخصصة في الجيل 0.

تحدث عملية تجميع البيانات المهملة للجيل 0 عند تجتاز عمليات التخصيص منذ آخر عملية هذا الحجم. يتم توليف حجم الجيل 0 بواسطة حاوي المهملات ويمكن تغييره أثناء تنفيذ التطبيق. في نهاية عملية التجميع للجيل 0 حجم كومة الذاكرة المؤقتة للجيل 0 هو 0 بايت. يقوم هذا العداد بعرض الحجم، في وحدات البايت، من عمليات التخصيص التي تستدعي عملية تجميع البيانات المهملة للجيل 0 التالية.

يتم تحديث هذا العداد عند نهاية عملية تجميع البيانات المهملة، وليس عند كل عملية تخصيص.

Gen 0 Promoted Bytes/Sec

يعرض وحدات البايت في الثانية التي يتم ترقيتها من الجيل 0 إلى الجيل 1. تتم ترقية الذاكرة عندما تعيش بعد عملية تجميع البيانات المهملة. هذا العداد عبارة عن مؤشر للكائنات التي يتم إنشاؤها كل ثانية التي تبقى حية لمدة طويلة نسبياً.

يقوم هذا العداد بعرض الفرق بين القيمتين الملاحظتين في آخر عينتين مقسومة على الفارق الزمني للعينة.

Gen 1 heap size

يعرض العدد الحالي لوحدات البايت في الجيل 1، لا يعرض هذا العداد الحجم الأقصى للجيل 1. لا يتم تخصيص الكائنات مباشرةً في هذا الجيل، يتم ترقيتها من عمليات تجميع البيانات المهملة من الجيل 0. يتم تحديث هذا العداد عند نهاية عملية تجميع البيانات المهملة، وليس عند كل عملية تخصيص.

Gen 1 Promoted Bytes/Sec

يعرض وحدات البايت في الثانية التي يتم ترقيتها من الجيل 1 إلى الجيل 2. الكائنات التي يتم ترقيتها فقط لأنها في حالة انتظار حتى يتم إنهاؤها لا يتم تضمينها في هذا العداد.

تتم ترقية الذاكرة عندما تعيش بعد عملية تجميع البيانات المهملة. لا يتم ترقية أي شيء من الجيل 2 لأنه الجيل الأقدم. هذا العداد عبارة عن مؤشر للكائنات التي يتم إنشاؤها كل ثانية التي تبقى حية لمدة طويلة جداً.

يقوم هذا العداد بعرض الفرق بين القيمتين الملاحظتين في آخر عينتين مقسومة على الفارق الزمني للعينة.

Gen 2 heap size

يعرض العدد الحالي لوحدات البايت في الجيل 2. لا يتم تخصيص الكائنات مباشرةً في هذا الجيل، يتم ترقيتها من الجيل 1 أثناء عمليات تجميع البيانات المهملة من الجيل 1. يتم تحديث هذا العداد عند نهاية عملية تجميع البيانات المهملة، وليس عند كل عملية تخصيص.

Large Object Heap size

يعرض الحجم الحالي في وحدات البايت لكومة الذاكرة المؤقتة للكائنات الكبيرة. الكائنات الأكبر من 20 Kb يتم معاملتها على أنها كائنات كبيرة بواسطة حاوي المهملات ويتم تخصيصها مباشرةً في كومة ذاكرة مؤقتة خاصة، ولا يتم ترقيتهم خلال الأجيال. يتم تحديث هذا العداد عند نهاية عملية تجميع البيانات المهملة، وليس عند كل عملية تخصيص.

Promoted Finalization-Memory from Gen 0

يعرض وحدات البايت للذاكرة التي تم ترقيتها من الجيل 0 إلى الجيل 1 فقط لأنها في حالة انتظار حتى يتم إنهاؤها. هذا العداد ليس تراكمي، ويعرض القيمة الملاحظة في نهاية عملية تجميع البيانات المهملة الأخيرة.

Promoted Finalization-Memory from Gen 1

يعرض وحدات البايت للذاكرة التي تم ترقيتها من الجيل 1 إلى الجيل 2 فقط لأنها في حالة انتظار حتى يتم إنهاؤها. هذا العداد ليس تراكمي، ويعرض القيمة الملاحظة في نهاية عملية تجميع البيانات المهملة الأخيرة. يتم إعادة تعيين هذا العداد إلى الصفر إذا كانت آخر عملية تجميع للبيانات المهملة للجيل 0 فقط.

Promoted Memory from Gen 0

يعرض عدد البايتات من الذاكرة التي تعيش بعد عملية تجميع البيانات المهملة والتي يتم ترقيتها من الجيل 0 إلى الجيل 1. الكائنات التي يتم ترقيتها فقط لأنها في حالة انتظار حتى يتم إنهاؤها لا يتم تضمينها في هذا العداد. هذا العداد ليس تراكمي، ويعرض القيمة الملاحظة في نهاية عملية تجميع البيانات المهملة الأخيرة.

Promoted Memory from Gen 1

يعرض عدد البايتات من الذاكرة التي تعيش بعد عملية تجميع البيانات المهملة والتي يتم ترقيتها من الجيل 1 إلى الجيل 2. الكائنات التي يتم ترقيتها فقط لأنها في حالة انتظار حتى يتم إنهاؤها لا يتم تضمينها في هذا العداد. هذا العداد ليس تراكمي، ويعرض القيمة الملاحظة في نهاية عملية تجميع البيانات المهملة الأخيرة. يتم إعادة تعيين هذا العداد إلى الصفر إذا كانت آخر عملية تجميع للبيانات المهملة للجيل 0 فقط.

راجع أيضًا:

المرجع

إنشاء تشكيل جانبي لوقت التشغيل

المبادئ

إدارة الذاكرة التلقائي

موارد أخرى

عدّادات الأداء في .NET Framework