If you know that you will never need to add areas beyond your current maximum area number while the database is online, you can trim the area array with the -maxAreas server startup parameter. Trimming the area array saves memory within the server process. For a complete description of the -maxAreas syntax, see Maximum area number (-maxAreas).

If you have a database with the following structure description file, trimming the area array with -maxAreas 2000 results in the allocation of a smaller area array:

#
b . f 1024
b .
#
d "Schema Area":6,32;64 .
#
#
d "First user data area":7,32;64 . f 4096
d "First user data area":7,32;64 . 
#
.
.
.
#
d "Last user data area":2000,32;64 . f 4096
d "Last user data area":2000,32;64 . 
#

The following figure shows the layout of areas array in memory for a database created from this structure file, and trimmed by including -maxAreas 2000 on the server startup.

Figure 1. Area array trimmed by -maxAreas startup parameter


Setting -maxAreas equal to your largest area number leaves no room for potential growth beyond that area number. You can save unused memory, and provide room for growth, by setting -maxAreas slightly higher than your maximum area number.

If during the time your database is online, you need to add areas beyond the current maximum area number specified by -maxAreas, you must shutdown and restart your database. Your options are:

  • Shutdown your database and restart with a larger -maxAreas setting.
  • Shutdown your database and remove the -maxAreas parameter from the startup command. This will allow the maximum area number, 32,000.