मेमोरी ऑप्टिमाइज़ करें

समस्या की शिकायत करें सोर्स देखें

इस पेज में बताया गया है कि बैज़ के इस्तेमाल के लिए, मेमोरी की सुविधा को कैसे सीमित और कम किया जा सकता है.

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

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

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

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

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

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

मेमोरी प्रोफ़ाइलिंग

Basel में एक मेमोरी प्रोफ़ाइलर होता है जो आपके नियम में मेमोरी के इस्तेमाल की जांच करने में आपकी मदद कर सकता है. इस प्रोसेस के बारे में ज़्यादा जानने के लिए, हमारे दस्तावेज़ों के मेमोरी प्रोफ़ाइलिंग सेक्शन पर जाएं और कस्टम नियमों की परफ़ॉर्मेंस को बेहतर बनाने का तरीका जानें.