عامل الميناء-تخصيص ذاكرة الجهاز

لدينا التطبيق القضبان معقدة إلى حد ما على وشك أن يتم نشرها على مضيف فعلي واحد. يحتوي المضيف على 8 نوى وذاكرة وصول عشوائي 128 جيجابايت.

يتم إرساء التطبيق ، مع 4 أنواع من الحاويات

  • القضبان شركة. خادم الويب
  • بوستجرس ديسيبل
  • رديس دي بي
  • حاوية العمال (ريسك)

ومن المتوقع أن يتم تحجيم القضبان وحاويات العمال عن طريق جلب المزيد من الحاويات داخل آلة عامل الميناء.

في بيئة التطوير ، يتم تخصيص الذاكرة لآلة عامل الميناء بأكملها:

docker-machine create -d virtualbox --virtualbox-memory 8192 default

هل من الممكن السيطرة على مقدار الذاكرة حاويات الفردية تقتصر على?

على سبيل المثال تخصيص 16 جيجابايت إلى بوستجريز ، ولكن الحد من القضبان الحاويات إلى 4 جيجابايت. أي نوع من الحد الأدنى من الذاكرة يجب أن تخصص لمضيف الخادم تشغيل عامل الميناء آلة, وهذا ممكن حتى?

تحرير

أسئلة ذات صلة:

كيفية التعامل مع إدارة الذاكرة عامل الميناء?

عامل ميناء + أباتشي, كيف يعمل استخدام الذاكرة?

تحرير 2

هذه الإجابة https://serverfault.com/a/645888/210752 يشير إلى أن الحاويات ستخصص الذاكرة حسب الحاجة. لم تكن هذه تجربتي في بيئة التطوير (بشكل افتراضي تم تخصيص 2 جيجابايت لآلة عامل الميناء).

كما ذكر في الإجابة على السؤال في تحرير 2 الخاص بك ، حاويات ليست مثل فمس في أنك لا عادة حجز الذاكرة بالنسبة لهم كما تفعل مع الأجهزة الظاهرية. نظرا لأنها تعمل جميعها على نفس نظام التشغيل ، فيمكنها إرسال الذاكرة حسب الحاجة إلى عمليات مختلفة ، تماما كما لو لم تكن تعمل في حاوية. وهذا يعني ، يتم تجميع الذاكرة لجميع العمليات ، بغض النظر عن الحاويات.

ما قمت بتعيينه في المثال أعلاه مع آلة الإرساء كان إجمالي تجمع الذاكرة' الظاهري ' للمضيف. في حالة الإنتاج الخاص بك ، وسوف يكون كله 128 غيغابايت (إلا إذا كنت تخطط لاستخدام أيضا عامل الميناء آلة أو فمس لتقسيمها).

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

مع عامل الميناء ، اعتمادا على الخلفية الحاوية المستخدمة ، يمكنك تعيين حدود الذاكرة الأساسية على النحو التالي:

  • عند تشغيل ليبكونتينر الافتراضي عامل الميناء، عن طريق تشغيل الحاويات مع - م أو - الذاكرة الخيار
  • عند تشغيل موفر لك القديمة ، عن طريق تشغيل الحاويات مع الخيار لك (إل سي سي).مجموعة.وحدة المعالجة المركزية.الذاكرة= المبلغ باستخدام -- لك-أسيوط

يمكنك العثور على مزيد من المعلومات حول استخدام مجموعات في عامل الميناء هنا:https://www.cloudsigma.com/manage-docker-resources-with-cgroups/

تحتوي المقالة أيضا على شرائح مقدمة لوظائف المجموعات.

حسنا ، لا يمكنني التراجع عن تصويتي الوثيق ، أو الإجابة على سؤالك ، لذلك… آسف على ذلك. نأمل شخص آخر يمكن.

لا توجد مشكلة … أعتقد أن السؤال لم تتم صياغته بشكل جيد في البداية. لقد عملت مع البنية التحتية كثيرا ولكن عامل الميناء جديد بالنسبة لي. لقد وضعت مكافأة … أتمنى لك يوما رائعا!