بازيل قيد التشغيل وذاكرة وصول عشوائي محدودة

تصف هذه الصفحة طريقة استخدام العلامات لتشغيل Bazel مع ذاكرة وصول عشوائي (RAM) محدودة.

في بعض الحالات، قد ترغب في استخدام بازيل للحد الأدنى من الذاكرة. يمكنك ضبط الحدّ الأقصى لعناصر المتعدّدة عبر علامة بدء التشغيل --host_jvm_args، مثل --host_jvm_args=-Xmx2g.

ومع ذلك، إذا كانت بنياتك كبيرة بشكل كافٍ، قد يُلقي بازيل OutOfMemoryError (OOM) عندما لا تتوفّر ذاكرة كافية. يمكنك استخدام ذاكرة أقلّ على Bazel، بتكلفة إصدارات متزايدة تدريجيًا، من خلال تمرير علامات الأوامر التالية: --discard_analysis_cache و--nokeep_state_after_build --notrack_incremental_state

تقلل هذه العلامات من الذاكرة التي يستخدمها Bazel في الإصدار، على حساب جعل الإصدارات المستقبلية أبطأ من أي إصدار تدريجي عادي.

يمكنك أيضًا تمرير أي من هذه العلامات بشكل فردي:

  • سيعمل --discard_analysis_cache على تقليل الذاكرة المستخدمة أثناء التنفيذ (وليس التحليل). لن تحتاج التصاميم التدريجية إلى إعادة تحميل الحزم، ولكن سيكون عليها إعادة تنفيذ التحليل والتنفيذ (على الرغم من أنّ ذاكرة التخزين المؤقت للإجراءات على القرص يمكن أن تمنع معظم تنفيذ إعادة التنفيذ).
  • لن يخزِّن --notrack_incremental_state أي حواف في الرسم البياني المستقل الداخلي في Bazel، وبذلك لا يمكن استخدامه في الإصدارات المتزايدة. سيتجاهل الإصدار التالي تلك البيانات، ولكن سيتم الاحتفاظ بها حتى ذلك الحين، لتصحيح الأخطاء الداخلية، ما لم يتم تحديد --nokeep_state_after_build.
  • سيتجاهل --nokeep_state_after_build جميع البيانات بعد الإصدار، لذا يجب أن تبدأ الإصدارات التدريجية من البداية (باستثناء ذاكرة التخزين المؤقت للإجراءات على القرص). ولا يؤثر وحده على علامة ارتفاع المياه في المبنى الحالي.