To prevent load address collisions, set preferred base addresses with the rebase utilty that comes
with Visual Studio and the Platform SDK. Use the rebase utility to reassign the base addresses of
the Application Server DLLs to prevent relocations at load time and increase the available
process memory for the Java heap.
There are a few Application Server DLLs that have non-default base addresses that can cause
collisions. For example:
■
The nspr libraries have a preferred address of 0x30000000.
■
The icu libraries have the address of 0x4A?00000.
Move these libraries near the system DLLs (msvcrt.dll is at 0x78000000) to increase the
available maximum contiguous address space substantially. Since rebasing can be done on any
DLL, rebase to the DLLs after installing the Application Server.
▼
To rebase the Application Server’s DLLs
To perform rebasing, you need:
■
Windows 2000
■
Visual Studio and the Microsoft Framework SDK rebase utility
Make install_dir\bin the default directory.
cd install_dir\bin
Enter this command:
rebase -b 0x6000000 *.dll
Use thedependencywalker utilityto make surethe DLLs wererebased correctly.
For more information, see the
Dependency Walker website.
Increase thesize for the Java heap, and set the JVM Optionaccordingly onthe JVM Settings
page in theAdmin Console.
Restart the Application Server.
Heap Conguration on Windows
This is an example heap conguration used by Sun GlassFish Enterprise Server for heavy
server-centric applications, on Windows, as set in the domain.xml le.
<jvm-options> -Xms1400m </jvm-options>
<jvm-options> -Xmx1400m </jvm-options>
For more information on rebasing, see MSDN documentation for rebase utility.
BeforeYou Begin
1
2
3
4
5
Example4–2
See Also
ManagingMemoryandGarbage Collection
SunGlassFishEnterpriseServer2.1PerformanceTuningGuide • January200990