سؤال

لقد علقت في مشكلة مع gflags. عند محاولة العثور على تسرب بعض الذاكرة في تطبيق Windows.

عندما أقوم بتشغيل ust. العلم (من أجل جمع تخصيص الذاكرة آثار مكدس) يزيد ذاكرة طلبي أسرع بكثير مما يفعل عندما تكون العلم مقطوعا (فهو يصل إلى 800 ميغابايت في 10 دقائق aprox. وهو بعيد عن 50-100 ميغابايت / يوم أحصل عليه عندما العلم قبالة).

لقد قرأت أن هناك أقصى لأثار مكدس 32 ميغابايت، لذلك أفترض أن هذا لا ينبغي أن يكون مشكلة.

الكمبيوتر هو 4X Intel (R) Xeon (R) CPU E5410 @ 2.33 جيجا هرتز.

إذا كان شخص ما يمكن أن يعطيني بعض التلميحات التي أقدرها حقا.

شكرا لك!

هل كانت مفيدة؟

المحلول

قاعدة بيانات Trace Stack ليست هي التأثير الوحيد لعلم UST. كما يضيف ما لا يقل عن 32 بايت لكل تخصيص، من أجل تخزين معرف تتبع المكدس الخاص به. هذا يمكن أن يفسر زيادة ذاكرتك إذا تشارك الكثير من المخصصات الصغيرة. إذا قمت بتشغيل العملية مع مصحح أخطاء مرفقة أو جمعت العملية مع هدف Debug، فسيتم تعيين كومة Windows في وضع التصحيح والمرفقات لكل تخصيص سيكون أكبر.

نصائح أخرى

يمكنك تعيين الحد الأقصى لحجم قاعدة بيانات التتبع باستخدام / tracedb sizeinmb انظر MSDN وثائق gflags للفصل والآية. بشكل افتراضي، لا يوجد حجم أقصى يشرح على الأرجح السلوك الذي تراه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top