"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تشير إحصائيات `pprof` وDocker Stats الخاصة بـ Go إلى استخدام مختلف للذاكرة؟

لماذا تشير إحصائيات `pprof` وDocker Stats الخاصة بـ Go إلى استخدام مختلف للذاكرة؟

تم النشر بتاريخ 2024-12-22
تصفح:960

Why Do Go\'s `pprof` and Docker Stats Report Different Memory Usage?

تناقض في استخدام الذاكرة بين Go Tool Pprof وDocker Stats

أثناء استخدام Go 1.11، قد تواجه تناقضًا في استخدام الذاكرة الذي تم الإبلاغ عنه بواسطة Go أداة pprof (runtime.MemStats.sys) وإحصائيات عامل الإرساء. تعتمد إحصائيات Docker على مجموعات cgroup للحصول على معلومات استخدام الذاكرة، والتي تتضمن ذاكرة التخزين المؤقت للصفحة وحجم المجموعة المضمنة (RES). من ناحية أخرى، يعرض pprof قيمة ضبابية لاستخدام الذاكرة، مما يجعل من الصعب المقارنة مباشرة بين الاثنين.

فهم استخدام الذاكرة لمجموعات cgroup

توفر مجموعات c طريقة للحد من استخدام الموارد وتتبعه داخل الحاوية. يتضمن مقياس use_in_bytes في مجموعات cgroup كلاً من الذاكرة المستخدمة بواسطة العملية والذاكرة المخزنة مؤقتًا. إذا كانت الحاوية تقرأ الملفات من النظام المضيف، فسيتم أيضًا حساب الذاكرة المخزنة مؤقتًا بواسطة kernel في use_in_bytes.

استعادة الذاكرة في Docker

إذا وصلت الحاوية إلى سعتها حد الذاكرة، يحاول Docker استعادة الذاكرة غير المستخدمة. وهذا يختلف عن خطأ OOM، الذي يحدث عند استخدام كل الذاكرة.

طرق الحد من استخدام الذاكرة

للتحكم في استخدام الذاكرة لحاوية الإرساء، يمكنك يمكن تحديد حد للذاكرة في أمر docker run أو في ملف docker-compose.yml باستخدام mem_limit المعلمة.

الاستنتاج ينشأ التناقض في تقارير استخدام الذاكرة بين إحصائيات pprof وdocker من الطرق المختلفة لقياس استخدام الذاكرة. تتضمن مجموعات cgroups، كما تستخدمها إحصائيات عامل الإرساء، ذاكرة التخزين المؤقت للملفات في حسابها، بينما يقدم pprof قيمة ضبابية دون حساب ذاكرة التخزين المؤقت. من خلال إدارة حدود الذاكرة من خلال مجموعات التحكم، يمكنك منع نمو الذاكرة غير المنضبط في حاوياتك.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3