פועל בזל עם RAM מוגבל

דף זה מתאר כיצד להשתמש בסימונים כדי להפעיל את Bazel עם RAM מוגבל.

במצבים מסוימים ייתכן שתרצה להשתמש ב-Bazel כדי להשתמש בזיכרון מינימלי. ניתן להגדיר את הערימה המקסימלית באמצעות סימון ההפעלה --host_jvm_args, כגון --host_jvm_args=-Xmx2g.

עם זאת, אם ה-build שלך גדול מספיק, Bazel עשוי להשליך OutOfMemoryError (OOM) כשאין מספיק זיכרון. אתם יכולים להגדיר את Bazel להשתמש בפחות זיכרון, בעלויות של גרסאות איטיות יותר, באמצעות סימון הפקודה: --discard_analysis_cache, --nokeep_state_after_build וגם --notrack_incremental_state

הסימונים האלה ימזערו את הזיכרון שבו משתמשת Bazel ב-build, על חשבון העלות של בנייה עתידית איטית יותר מאשר build רגיל.

אפשר גם להעביר כל אחד מהסימונים הבאים בנפרד:

  • --discard_analysis_cache יפחית את הזיכרון שבו נעשה שימוש במהלך הביצוע (לא ניתוח). buildים מצטברים לא יצטרכו לבצע מחדש את טעינת החבילה, אך הם יצטרכו לבצע מחדש ניתוח והפעלה (למרות שמטמון הפעולות בכונן יכול למנוע את רוב ביצוע מחדש).
  • --notrack_incremental_stateלא תאחסן שוליים בתרשים התלות הפנימי של Bazel, כך שלא ניתן יהיה להשתמש בו עבור מבנים מצטברים. ה-build הבא ימחק את הנתונים האלה, אבל הם יישמרו עד אז עבור ניפוי באגים פנימי, אלא אם צוין --nokeep_state_after_build.
  • --nokeep_state_after_build תמחק את כל הנתונים לאחר ה-build, כך שגרסאות מצטברות צריכות להיווצר מאפס (מלבד מטמון הפעולה בדיסק). לבד, אין לכך השפעה על סימן המים הגבוה של ה-build הנוכחי.