JDK-4511871 : HS 1.4 rejects -Xms2m as "too small"
  • Type: Bug
  • Component: docs
  • Sub-Component: hotspot
  • Affected Version: 1.4.0,1.4.2,5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic,solaris
  • CPU: generic,sparc
  • Submitted: 2001-10-08
  • Updated: 2008-05-20
  • Resolved: 2006-07-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 rcFixed
Related Reports
Relates :  
Relates :  
Description
Name: elR10090			Date: 10/08/2001



Testbase: testbase_nsk
Test: nsk/coverage/arguments/arguments013

HotSpot VM refuses to start with -Xms2m option on Solaris/SPARC: 

    >>>> .../jdk1.4.0beta-b81/solsparc/bin/java -Xms2m HelloWorld
    Error occurred during initialization of VM
    Too small initial heap for new size specified

    >>>> .../jdk1.4.0beta-b81/solsparc/bin/java -Xms3m HelloWorld
    Hello world!

However, the online documentation says that 2Mb is the default 
value for initial heap size, see:
    http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/java.html

    "...
    -Xmsn 
       Specify the initial size, in bytes, of the memory allocation pool.
       This value must be a multiple of 1024 greater than 1MB.
       Append the letter k or K to indicate kilobytes, or m or M to
       indicate megabytes. The default value is 2MB. Examples: 
    ..."

This citation does not defines: if HotSpot must start with 1025k 
or either 1025k is necessary but may be not enough value for -Xms 
option. However, HotSpot definitely must start with -Xms2m because 
documentation says 2MB is the default value. 

Actually, the minimal enough value is 128k bigger for Merlin 
(I assume, that 1k=1024, and 1m=1024k): 

    >>>> .../jdk1.4.0beta-b81/solsparc/bin/java -Xms2176k HelloWorld
    Error occurred during initialization of VM
    Too small initial heap for new size specified

    >>>> .../jdk1.4.0beta-b81/solsparc/bin/java -Xms2177k HelloWorld
    Hello world!

May be, J2SE online documentation should be updated? 

======================================================================
There is no writer assigned to this area of the documentation.
So this will not get addressed unless done by engineering

Comments
EVALUATION We must document the ranges supported by the java(1) man page for the command line parameters of -Xms, -Xmx and -Xss. The following is a table derived using mustang-b75. All values are in KBytes and "Swap" as the name suggests the value is limited by the swap space configured on the system. "Platform" "Xms(min)" "Xmx(max)" "Xss(min)" "Xss(max)" "solaris-sparc" 2177 4034560 96 704496 "solaris-sparcv9" 2817 "Swap" 128 2097151 "solaris-i586" 1025 3182592 64 571384 "solaris-amd64" 2625 "Swap" 224 2097151 "windows-i586" 961 1677312 1 322176 "windows-amd64" 2625 "Swap" 1 9.0972712472884E+017 "linux-i586" 1025 1982464 48 4194303 "linux-amd64" 2625 "Swap" 64 1264582656
21-03-2006

EVALUATION This appears to be a documentation problem. The merlin implementation with the new garbage collection system has a initial user available space of 2M, but the additional overhead in the system raises this requirement to in excess of 3584k. Changing the documentation to reflect this change seems appropriate. Note that the space requirements will also be different on -d64. ###@###.### 2001-10-12
12-10-2001