Uruchomiony Bazel z ograniczoną ilością pamięci RAM

Na tej stronie znajdują się informacje o używaniu flag do uruchamiania Bazelu z ograniczoną ilością pamięci RAM.

W niektórych sytuacjach może być konieczne zminimalizowanie ilości pamięci przez Bazel. Maksymalną stertę możesz ustawić za pomocą flagi uruchamiania --host_jvm_args, na przykład --host_jvm_args=-Xmx2g.

Jeśli jednak Twoje budowle są wystarczająco duże, Bazel może wysłać OutOfMemoryError (OOM), gdy będzie za mało pamięci. Możesz bazu danych w Bazelu, co powoduje wolniejsze przyrosty kompilacji, przesyłając te flagi polecenia:--discard_analysis_cache ,--nokeep_state_after_build i--notrack_incremental_state danych

Te flagi minimalizują ilość pamięci wykorzystywanej przez Bazel w kompilacji. Kosztem kompilowania w przyszłości będzie wolniej niż standardowa kompilacja przyrostowa.

Możesz też przesłać jedną z tych flag pojedynczo:

  • --discard_analysis_cache zmniejszy ilość pamięci używanej podczas wykonywania (nie analizuje). Kompilacje przyrostowe nie muszą ponownie ładować pakietu, ale muszą ponownie przeprowadzać analizę i wykonanie (chociaż pamięć podręczna działania na dysku może uniemożliwić większość ponownego wykonania).
  • --notrack_incremental_state nie przechowuje żadnych krawędzi na wewnętrznym wykresie zależności Bazela, więc nie można z niego korzystać w przypadku kompilacji przyrostowych. Następna kompilacja odrzuci te dane, ale zostaną one zachowane do czasu debugowania wewnętrznego, chyba że określono --nokeep_state_after_build.
  • Po zakończeniu kompilacji --nokeep_state_after_build odrzuca wszystkie dane, więc kompilacje dodatkowe muszą być tworzone od zera (z wyjątkiem pamięci podręcznej na dysku). Nie ma to wpływu na oznaczenia wysokiego poziomu wody w bieżącej kompilacji.