mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8012265: VM often crashes on solaris with a lot of memory
Increase HeapBaseMinAddress for G1 from 256m to 1g on Solaris x86 Reviewed-by: mgerdin, coleenp, kvn
This commit is contained in:
parent
a8616cb1c2
commit
f18e968d43
2 changed files with 13 additions and 0 deletions
|
@ -1566,6 +1566,15 @@ julong Arguments::limit_by_allocatable_memory(julong limit) {
|
|||
return result;
|
||||
}
|
||||
|
||||
void Arguments::set_heap_base_min_address() {
|
||||
if (FLAG_IS_DEFAULT(HeapBaseMinAddress) && UseG1GC && HeapBaseMinAddress < 1*G) {
|
||||
// By default HeapBaseMinAddress is 2G on all platforms except Solaris x86.
|
||||
// G1 currently needs a lot of C-heap, so on Solaris we have to give G1
|
||||
// some extra space for the C-heap compared to other collectors.
|
||||
FLAG_SET_ERGO(uintx, HeapBaseMinAddress, 1*G);
|
||||
}
|
||||
}
|
||||
|
||||
void Arguments::set_heap_size() {
|
||||
if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) {
|
||||
// Deprecated flag
|
||||
|
@ -3525,6 +3534,8 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
|
|||
}
|
||||
}
|
||||
|
||||
set_heap_base_min_address();
|
||||
|
||||
// Set heap size based on available physical memory
|
||||
set_heap_size();
|
||||
|
||||
|
|
|
@ -315,6 +315,8 @@ class Arguments : AllStatic {
|
|||
// limits the given memory size by the maximum amount of memory this process is
|
||||
// currently allowed to allocate or reserve.
|
||||
static julong limit_by_allocatable_memory(julong size);
|
||||
// Setup HeapBaseMinAddress
|
||||
static void set_heap_base_min_address();
|
||||
// Setup heap size
|
||||
static void set_heap_size();
|
||||
// Based on automatic selection criteria, should the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue