Skip to content

Commit 0a4f357

Browse files
authored
Respect memory constraints during init. (#36479)
1 parent c94e8d2 commit 0a4f357

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/gc.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3206,7 +3206,11 @@ void jl_gc_init(void)
32063206

32073207
#ifdef _P64
32083208
// on a big memory machine, set max_collect_interval to totalmem / ncores / 2
3209-
size_t maxmem = uv_get_total_memory() / jl_cpu_threads() / 2;
3209+
uint64_t total_mem = uv_get_total_memory();
3210+
uint64_t constrained_mem = uv_get_constrained_memory();
3211+
if (constrained_mem > 0 && constrained_mem < total_mem)
3212+
total_mem = constrained_mem;
3213+
size_t maxmem = total_mem / jl_cpu_threads() / 2;
32103214
if (maxmem > max_collect_interval)
32113215
max_collect_interval = maxmem;
32123216
#endif

src/init.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,9 @@ void _julia_init(JL_IMAGE_SEARCH rel)
640640

641641
jl_page_size = jl_getpagesize();
642642
uint64_t total_mem = uv_get_total_memory();
643+
uint64_t constrained_mem = uv_get_constrained_memory();
644+
if (constrained_mem > 0 && constrained_mem < total_mem)
645+
total_mem = constrained_mem;
643646
if (total_mem >= (size_t)-1) {
644647
total_mem = (size_t)-1;
645648
}

0 commit comments

Comments
 (0)