Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
使用有限 RAM 執行 Bazel
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁說明如何使用旗標,在 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 會在建構後捨棄所有資料,因此遞增建構必須從頭開始建構 (磁碟上的動作快取除外)。單獨使用時,不會影響目前版本的最高水位線。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-05-07 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-05-07 (世界標準時間)。"],[],[]]