src: properly configure default heap limits
Unless configured, V8 defaults to limiting the max heaps size to 700 MB or 1400MB on 32 and 64-bit platforms respectively. This default is based on the browser use-cases and doesn't make a lot of sense generally. This change properly configures the heap size based on actual available memory. PR-URL: https://github.com/nodejs/node/pull/25576 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
d0d84b009c
commit
1d996f58af
@ -80,6 +80,15 @@ void FreeArrayBufferAllocator(ArrayBufferAllocator* allocator) {
|
||||
Isolate* NewIsolate(ArrayBufferAllocator* allocator, uv_loop_t* event_loop) {
|
||||
Isolate::CreateParams params;
|
||||
params.array_buffer_allocator = allocator;
|
||||
|
||||
double total_memory = uv_get_total_memory();
|
||||
if (total_memory > 0) {
|
||||
// V8 defaults to 700MB or 1.4GB on 32 and 64 bit platforms respectively.
|
||||
// This default is based on browser use-cases. Tell V8 to configure the
|
||||
// heap based on the actual physical memory.
|
||||
params.constraints.ConfigureDefaults(total_memory, 0);
|
||||
}
|
||||
|
||||
#ifdef NODE_ENABLE_VTUNE_PROFILING
|
||||
params.code_event_handler = vTune::GetVtuneCodeEventHandler();
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user