The following configuration settings affect EAServer’s memory requirements. While exact memory requirements depend on your component and servlet implementations, this list tells you what options you can tune to affect the server’s memory footprint:
Java heap sizes The Java Virtual Machine (JVM) that EAServer uses to run Java code has parameters to size its dynamic memory allocation heap. For more information, see “JVM memory allocation parameters”.
The number of threads and thread stack size Each thread requires a small amount of reserved memory to store the stack for code running in the thread. “JVM memory allocation parameters” describes how to configure the thread stack size.
HTTP response cache sizes EAServer supports several forms of HTTP response caching. For more information, see “Understanding HTTP response caching options”.
Entity bean instance and query caching EAServer can cache instance data and finder-method results for EJB-CMP entity beans. See “Configuring object and query caching” for more information.
Data source pool sizes You can configure the number of connections stored in each cache as described in “Tuning the pool size”.
Component instance pool sizes You can configure the pool size for component instances as described in “Instance pooling”. The memory required for each instance depends on your implementation.
Custom class lists EAServer uses custom Java class loaders to allow you to refresh the Web application classes and Java components, and to load classes from directories and JAR files that are not specified in the CLASSPATH environment variable. During the development cycle, this feature allows you to add or modify classes without restarting the server. However, duplicate entries in the custom class lists for different components waste memory by loading duplicate class instances. Chapter 10, “Configuring Java Class Loaders,” in the System Administration Guide describes how to configure common class lists for components and Web applications.
Use of the hot refresh feature Refreshing PowerBuilder and C++ components loads additional copies of the implementation classes. EAServer leaves the previous implementation in memory for use by existing client sessions. For this reason, it is best to restart your production server after deploying a large number of PowerBuilder or C++ component updates. If you have a maintenance window when the server can be restarted, redeploy your changed code at this time to allow a restart of the server. When you do refresh, do so at the lowest level possible. For example, if you modified a component, refresh the package that it is installed in rather than the whole server.