X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7f88afd565b76903ad4b27fb896ff0cd844dfb7f..9e988394278b9c0c072c27107b67669875b8fca7:/lib/dispatchcloud/node_size.go diff --git a/lib/dispatchcloud/node_size.go b/lib/dispatchcloud/node_size.go index 7c7643bfc7..8cc63dc208 100644 --- a/lib/dispatchcloud/node_size.go +++ b/lib/dispatchcloud/node_size.go @@ -110,7 +110,12 @@ func ChooseInstanceType(cc *arvados.Cluster, ctr *arvados.Container) (best arvad needRAM := ctr.RuntimeConstraints.RAM + ctr.RuntimeConstraints.KeepCacheRAM needRAM += int64(cc.Containers.ReserveExtraRAM) - needRAM += int64(cc.Containers.LocalKeepBlobBuffersPerVCPU * needVCPUs * (1 << 26)) + if cc.Containers.LocalKeepBlobBuffersPerVCPU > 0 { + // + 200 MiB for keepstore process + 10% for GOGC=10 + needRAM += 220 << 20 + // + 64 MiB for each blob buffer + 10% for GOGC=10 + needRAM += int64(cc.Containers.LocalKeepBlobBuffersPerVCPU * needVCPUs * (1 << 26) * 11 / 10) + } needRAM = (needRAM * 100) / int64(100-discountConfiguredRAMPercent) ok := false