Nesta página, descrevemos como usar sinalizações para executar o Bazel com RAM limitada.
Em determinadas situações, talvez você queira que o Bazel use pouca memória. É possível definir o
stack máximo com a sinalização de inicialização
--host_jvm_args
,
como --host_jvm_args=-Xmx2g
.
No entanto, se seus builds forem grandes o suficiente, o Bazel poderá gerar uma OutOfMemoryError
(OOM) quando não tiver memória suficiente. É possível fazer o Bazel usar menos memória, ao custo de builds incrementais mais lentos, transmitindo as seguintes sinalizações de comando: --discard_analysis_cache
, --nokeep_state_after_build
e --notrack_incremental_state
.
Essas sinalizações minimizarão a memória que o Bazel usa em um build, ao custo de tornar os builds futuros mais lentos do que um build incremental padrão.
Também é possível transmitir qualquer uma destas sinalizações individualmente:
--discard_analysis_cache
reduzirá a memória usada durante a execução (não a análise). Os builds incrementais não precisarão refazer o carregamento do pacote, mas refazer a análise e a execução, embora o cache de ações no disco possa impedir a maior parte da nova execução.--notrack_incremental_state
não armazenará nenhuma borda no gráfico de dependência interna do Bazel para que não possa ser usada em builds incrementais. O próximo build descartará esses dados, mas será preservado até essa data, para depuração interna, a menos que--nokeep_state_after_build
seja especificado.--nokeep_state_after_build
descartará todos os dados após o build, para que os builds incrementais sejam criados do zero (exceto o cache de ação no disco). Sozinha, ele não afeta a marca alta da versão atual.