이 페이지에서는 플래그를 사용하여 제한된 RAM으로 Bazel을 실행하는 방법을 설명합니다.
특정 상황에서는 Bazel이 최소한의 메모리를 사용하도록 하는 것이 좋습니다. 이
시작 플래그를 통한 최대 힙
--host_jvm_args
님,
(예: --host_jvm_args=-Xmx2g
)
그러나 빌드가 충분히 크면 Bazel에서 OutOfMemoryError
을 발생시킬 수 있습니다.
(OOM) 작업이 발생할 수 있습니다. Bazel이 더 적은 메모리를 사용하도록
다음 명령어 플래그를 전달하여 느린 증분 빌드의 비용을 줄일 수 있습니다.
--discard_analysis_cache
님,
--nokeep_state_after_build
, --notrack_incremental_state
이러한 플래그는 Bazel이 빌드에서 사용하는 메모리를 최소화하므로 향후 빌드가 표준 증분 빌드보다 느려질 수 있습니다.
이러한 플래그 중 하나를 개별적으로 전달할 수도 있습니다.
--discard_analysis_cache
는 실행 중에 사용되는 메모리를 줄입니다( 분석). 증분 빌드는 패키지 로드를 다시 실행할 필요는 없지만 분석과 실행을 다시 실행해야 하지만 (디스크 상의 작업 캐시는 대부분의 재실행을 방지합니다.)--notrack_incremental_state
는 Bazel의 내부에 에지를 저장하지 않습니다. 종속 항목 그래프에 포함되므로 증분 빌드에는 사용할 수 없습니다. 다음 빌드 해당 데이터는 삭제되지만 내부 디버깅을 위해 그때까지 보존됩니다.--nokeep_state_after_build
가 지정되지 않은 경우에 한합니다.--nokeep_state_after_build
는 빌드 후 모든 데이터를 삭제하므로 증분 빌드는 처음부터 빌드해야 합니다 (디스크 상의 작업 제외). 있습니다. 단독으로는 현재 빌드의 높은 워터마크에 영향을 미치지 않습니다.