सीमित रैम के साथ बाज़ेल चलाना

इस पेज पर बताया गया है कि फ़्लैग वाले वीडियो का इस्तेमाल, बज़ल चलाने के लिए बहुत कम रैम कैसे किया जाता है.

कुछ स्थितियों में, आप बैटरी का इस्तेमाल कम से कम कर सकते हैं. आप स्टार्टअप फ़्लैग --host_jvm_args के ज़रिए ज़्यादा से ज़्यादा हीप सेट कर सकते हैं, जैसे कि --host_jvm_args=-Xmx2g.

हालांकि, अगर आपके बिल्ड काफ़ी बड़े हैं, तो बैजल में इतनी मेमोरी नहीं होने पर वह OutOfMemoryError (OOM) का इस्तेमाल कर सकता है. आप बेज़ल का इस्तेमाल करके कम मेमोरी इस्तेमाल कर सकते हैं. इसके लिए, आप तेज़ी से बढ़ने वाले बिल का इस्तेमाल करते हैं. ऐसा करने के लिए, आप इन कमांड फ़्लैग को पास कर सकते हैं: --discard_analysis_cache, --nokeep_state_after_build, और --notrack_incremental_state.

ये फ़्लैग उन यादगार चीज़ों को कम करेंगे जिनका इस्तेमाल बाज़े एक बिल्ड के साथ करते हैं. इससे, आने वाले समय में बिल्ड बनाने की लागत उस स्टैंडर्ड इंक्रीमेंटल बिल्ड की तुलना में धीमी हो जाती है.

आप इनमें से किसी भी फ़्लैग को एक-एक करके भी पास कर सकते हैं:

  • --discard_analysis_cache एक्ज़ीक्यूशन के दौरान इस्तेमाल की जाने वाली मेमोरी कम कर देगा (विश्लेषण नहीं). इंक्रीमेंटल बिल्ड के ज़रिए पैकेज को फिर से लोड नहीं करना होगा, लेकिन इसके लिए विश्लेषण और निष्पादन को फिर से करना होगा (हालांकि ऑन-डिस्क कार्रवाई कैश का इस्तेमाल कई बार फिर से निष्पादन को रोक सकता है).
  • --notrack_incremental_state बज़ेल के अंदरूनी निर्भरता ग्राफ़ में किसी भी किनारे को सेव नहीं करेगा, ताकि इंक्रीमेंटल बिल्ड के लिए यह इस्तेमाल न हो. अगला बिल्ड उस डेटा को खारिज कर देगा, लेकिन तब तक उसे अंदरूनी डीबग करने के लिए तब तक सुरक्षित रखा जाएगा, जब तक कि --nokeep_state_after_build तय नहीं किया जाता.
  • --nokeep_state_after_build बिल्ड के बाद सभी डेटा खारिज कर देगा, ताकि इंक्रीमेंटल बिल्ड को स्क्रैच से बनाना पड़े (डिस्क पर कार्रवाई कार्रवाई को छोड़कर). इससे, मौजूदा बिल के पानी के निशान पर कोई असर नहीं पड़ता है.