سؤال

هل هناك طريقة يمكننا تسجيل بصمة الذاكرة؟ بطريقة ما بعد العملية قد انتهت، لا يزال بإمكاننا الوصول إليها.

الطريقة النموذجية التي أتحقق من بصمة الذاكرة هي:

$ cat /proc/PID/status

ولكن بأي حال من الأحوال موجودة بعد انتهاء العملية.

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

المحلول

يمكنك أن تفعل شيئا مثل:

watch 'grep VmSize /proc/PID/status >> log'

عندما ينتهي البرنامج، سيكون لديك قائمة بأقدام الذاكرة مع مرور الوقت log.

نصائح أخرى

valgrind. لديه ذاكرة الذاكرة دعا منس يوفر معلومات مفصلة عن استخدام الذاكرة لبرنامجك:

Massif هو منشئ كومة. إنه ينفذ تنميطا مفصلا كومة من خلال اتخاذ لقطات منتظمة لكمية البرنامج. تنتج الرسم البياني الذي يعرض استخدام كومة مع مرور الوقت، بما في ذلك المعلومات حول أي أجزاء من البرنامج المسؤولة عن معظم مخصصات الذاكرة. يتم استكمال الرسم البياني بواسطة ملف نصي أو HTML يتضمن مزيدا من المعلومات لتحديد مكان تخصيص معظم الذاكرة. يدير Massif برامج حول 20x أبطأ من المعتاد.

يمكنك تسجيله باستخدام مونين + مساعد مخصص.

سيسمح لك هذا بمراقبة معلومات العملية المطلوبة وحفظها، ورسمها بسهولة.

إليك إجابة ذات صلة أعطيتها في ServerFault.com

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