Bazel Lari dengan RAM Terbatas

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Laporkan masalah Lihat sumber

Halaman ini menjelaskan cara menggunakan flag untuk menjalankan Bazel dengan RAM terbatas.

Dalam situasi tertentu, Anda mungkin ingin Bazel menggunakan memori yang minimal. Anda dapat menetapkan heap maksimum melalui tanda startup --host_jvm_args, seperti --host_jvm_args=-Xmx2g.

Namun, jika build Anda cukup besar, Bazel dapat memunculkan OutOfMemoryError (OOM) saat tidak memiliki cukup memori. Anda dapat membuat Bazel menggunakan lebih sedikit memori, dengan mengorbankan build inkremental yang lebih lambat, dengan meneruskan flag perintah berikut: --discard_analysis_cache, --nokeep_state_after_build, dan --notrack_incremental_state.

Tanda ini akan meminimalkan memori yang digunakan Bazel dalam build, dengan mengorbankan pembuatan build di masa mendatang yang lebih lambat dari build inkremental standar.

Anda juga dapat meneruskan salah satu flag berikut satu per satu:

  • --discard_analysis_cache akan mengurangi memori yang digunakan selama eksekusi (bukan analisis). Build inkremental tidak perlu mengulangi pemuatan paket, tetapi harus mengulangi analisis dan eksekusi (meskipun cache tindakan pada disk dapat mencegah sebagian besar eksekusi ulang).
  • --notrack_incremental_state tidak akan menyimpan tepi apa pun dalam grafik dependensi internal Bazel, sehingga tidak dapat digunakan untuk build inkremental. Build berikutnya akan menghapus data tersebut, tetapi tetap dipertahankan hingga proses tersebut, untuk proses debug internal, kecuali jika --nokeep_state_after_build ditentukan.
  • --nokeep_state_after_build akan menghapus semua data setelah build, sehingga build inkremental harus di-build dari awal (kecuali untuk cache tindakan di-disk). Sendirian, tidak memengaruhi tanda air tinggi dari build saat ini.