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.