https://bugzilla.novell.com/show_bug.cgi?id=414462 User robermann@gmail.com added comment https://bugzilla.novell.com/show_bug.cgi?id=414462#c11 --- Comment #11 from robermann79 robermann79 <robermann@gmail.com> 2008-08-20 15:52:09 MDT --- Reporting the results of my debug, as requested by distro-pkg-dev@openjdk.java.net ML. I hope this can help. * File collectorPolicy.cpp:
From CollectorPolicy::initialize_size_info() I have: _max_heap_byte_size = align_size_up(MaxHeapSize, max_alignment()) = 512 mb. where max_alignment() = 2 mb MaxHeapSize = 512 mb
Then into TwoGenerationCollectorPolicy::initialize_size_info() I have: _max_heap_byte_size = 536870912 (512 mb) _max_gen0_size = 41287680 (39,375 mb) _max_gen1_size = _max_heap_byte_size - _max_gen0_size = 495583232 (472.625 mb) Then into MarkSweepPolicy::initialize_generations() I have: _generations[0] = new GenerationSpec(Generation::DefNew, _initial_gen0_size, _max_gen0_size); _generations[1] = new GenerationSpec(Generation::MarkSweepCompact, _initial_gen1_size, _max_gen1_size); * Going to the file genCollectedHeap.cpp: In the method GenCollectedHeap::allocate(), I have: total_reserved = 512 mb total_reserved += perm_gen_spec->max_size(); total_reserved = 576mb So adding the max size of PermGen sums up to 603979776 bytes. I found no call to os:: memory related functions from os_linux.cpp (os::available_memory() or os::physical_memory()). physical_memory is called by arguments.cpp only when there is a UseParallelGC or AggressiveHeap option. In conclusion: it seems to me that, running without the Xmx option, MaxHeapSize values 512 because is so defined in hotspot/src/share/vm/runtime/globals.hpp. Adding the max perm size to the two generations max sizes returns the value of 576 mb, which is greater of my RAM (512 mb). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.