Bu sayfada, Bazel'i sınırlı RAM ile çalıştırmak için işaretlerin nasıl kullanılacağı açıklanmaktadır.
Bazı durumlarda Bazel'in minimum bellek kullanmasını isteyebilirsiniz. Maksimum yığın boyutunu --host_jvm_args=-Xmx2g
gibi bir başlangıç işareti --host_jvm_args
aracılığıyla ayarlayabilirsiniz.
Ancak derlemeleriniz yeterince büyükse Bazel yeterli belleğe sahip olmadığında OutOfMemoryError
(OOM) hatası verebilir. Bazel'in daha az bellek kullanmasını sağlamak için aşağıdaki komut işaretlerini ileterek ek derlemelerin daha yavaş yapılmasına neden olabilirsiniz: --discard_analysis_cache
, --nokeep_state_after_build
ve --notrack_incremental_state
.
Bu işaretler, Bazel'in bir derlemede kullandığı belleği en aza indirir. Bunun karşılığında, sonraki derlemeler standart artımlı derlemelerden daha yavaş olur.
Bu işaretlerden herhangi birini tek tek de iletebilirsiniz:
--discard_analysis_cache
, yürütme sırasında kullanılan belleği (analiz sırasında değil) azaltır. Artımlı derlemelerde paket yükleme işleminin yeniden yapılması gerekmez ancak analiz ve yürütme işleminin yeniden yapılması gerekir (diskteki işlem önbelleği çoğu yeniden yürütme işlemini önleyebilir).--notrack_incremental_state
, Bazel'in dahili bağımlılık grafiğinde herhangi bir kenar depolamaz. Bu nedenle, artımlı derlemeler için kullanılamaz. Sonraki derleme bu verileri atar ancak--nokeep_state_after_build
belirtilmediği sürece dahili hata ayıklama için o zamana kadar korunur.--nokeep_state_after_build
, derlemeden sonra tüm verileri atar. Bu nedenle, artımlı derlemelerin sıfırdan derlenmesi gerekir (disk üzerindeki işlem önbelleği hariç). Bu durum, mevcut derlemenin en yüksek noktasını tek başına etkilemez.