Sınırlı RAM'e sahip Bazel'ı çalıştırma

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

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. Bu ayarı, başlangıç işareti aracılığıyla maksimum yığın --host_jvm_args --host_jvm_args=-Xmx2g gibi.

Ancak yapılarınız yeterince büyükse Bazel bir OutOfMemoryError (OOM) duruma getirmeye çalışır. Bazel'ın daha az bellek kullanmasını sağlayabilirsiniz. aşağıdaki komut işaretlerini ileterek daha yavaş artımlı derlemelerin maliyetini artırır: --discard_analysis_cache --nokeep_state_after_build ve --notrack_incremental_state.

Bu işaretler, Bazel'in derlemede kullandığı belleği en aza indirir. gelecekteki derlemelerin daha yavaş yapılmasını sağlar.

Ayrıca, bu işaretlerden herhangi birini tek tek de iletebilirsiniz:

  • --discard_analysis_cache, yürütme sırasında kullanılan belleği azaltır ( analizi). Artımlı derlemelerde paket yüklemeyi yeniden yapması gerekmez analizi ve yürütmeyi yeniden yapmanız gerekir (ancak disk üzerindeki işlem önbelleği birçok yeniden yürütmeyi önler).
  • --notrack_incremental_state, Bazel'in dahili öğesindeki kenarları depolamaz ve artımlı derlemelerde kullanılamaz. Sonraki derleme bu verileri siler ancak dahili hata ayıklama için o zamana kadar korunur. (--nokeep_state_after_build belirtilmediği sürece)
  • --nokeep_state_after_build, derleme işleminden sonra tüm verileri silecek. artımlı derlemelerin sıfırdan yapılması gerekir (disk üzerinde işlem önbellek). Bu durum tek başına mevcut derlemenin yüksek su seviyesini etkilemez.