Sınırlı RAM'e sahip Bazel'ı çalıştırma

Bu sayfada, Bazel'i sınırlı RAM ile çalıştırmak için işaretlerin nasıl kullanılacağı açıklanmaktadır.

Bazı durumlarda, Bazel'in minimum bellek kullanmasını isteyebilirsiniz. Maksimum yığın değerini başlangıç işareti --host_jvm_args aracılığıyla (ör. --host_jvm_args=-Xmx2g) ayarlayabilirsiniz.

Bununla birlikte, derlemeleriniz yeterince büyükse Bazel yeterli belleğe sahip olmayan OutOfMemoryError (OOM) atabilir. Daha yavaş artımlı derlemelerin maliyetiyle, aşağıdaki komut işaretlerini ileterek Bazel'in daha az bellek kullanmasını sağlayabilirsiniz: --discard_analysis_cache, --nokeep_state_after_build ve --notrack_incremental_state

Bu işaretler, Bazel'in bir derlemede kullandığı belleği en düşük seviyeye indirir. Böylece, gelecekteki derlemeler için standart bir artımlı derlemeye göre daha yavaş yapılır.

Bu işaretlerden herhangi birini tek tek de iletebilirsiniz:

  • --discard_analysis_cache, yürütme sırasında kullanılan belleği (analiz değil) azaltır. Artımlı derlemelerin, paket yüklemesini yeniden yapması gerekmez ancak diskin işlem önbelleği yeniden yürütmenin çoğunu engelleyebileceği halde, analiz ve yürütme işlemini yeniden yapması gerekir.
  • --notrack_incremental_state, Bazel'in dahili bağımlılık grafiğinde herhangi bir kenar depolamaz. Bu nedenle, artımlı derlemeler için kullanılamaz. Bir sonraki derlemede bu veriler silinir ancak --nokeep_state_after_build belirtilmediği sürece dahili hata ayıklama için bu tarihe kadar korunur.
  • --nokeep_state_after_build, derlemeden sonra tüm verileri silecektir. Böylece, artımlı derlemelerin sıfırdan başlatılması gerekir (diskteki işlem önbelleği hariç). Tek başına, mevcut derlemenin yüksek su izini etkilemez.