Subject Re: [firebird-support] Server and DB page sizes and memory
Author Ann W. Harrison
Thomas Miller wrote:
> I am trying to optimize an IB 7.51 server. We have servers with 6GB on
> Linux and IB seems to only use 512 MB. How can I force it to use 1 GB
> or 2 GB? Is it tied to the block sizes for the DB Server and the datafile?
>

The only controls you have over server memory usage are the
page cache, the lock table size, the event table size, and
the amount of memory used for sorting, all in the configuration
file. The amount of memory used by the page cache also depends
on the page size, which is set at database creation or by
restoring a backup.

Generally, Firebird runs well with much less than 1Gb of memory
because of its design. Perhaps the memory would be better used
elsewhere unless you can find a place where Firebird is doing
unnecessary I/O because of inadequate memory?


Regards,


Ann

# ----------------------------
# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 75 pages per client connection per database.
#
# Type: integer
#
#DefaultDbCachePages = 2048


# ----------------------------
# In-memory sorting module
#
# The amount of memory allocated for each sort block.
#
# Type: integer
#
#SortMemBlockSize = 1048576

#
# The maximum amount of memory to be allocated by the in-memory
# sorting module.
#
# For Classic servers, this setting is defaulted to 8 MB.
# Although it can be increased, the value applies to each client
# connection/server instance and thus consumes a lot of memory.
#
# Type: integer
#
#SortMemUpperLimit = 67108864


# ----------------------------
# Locking and shared memory parameters
#
# Bytes of shared memory allocated for lock manager.
# In Classic mode, the size given is used for the initial allocation. The
# table expands dynamically up to the limit of memory. In SuperServer, the
# initial size is also the final size.
# Default is 96K on Linux and Solaris, 256K on Windows.
#
# Type: integer
#
#LockMemSize = 262144


# ----------------------------
#
# Bytes of shared memory allocated for event manager.
#
# Type: integer
#
#EventMemSize = 65536

# ----------------------------
# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 75 pages per client connection per database.
#
# Type: integer
#
#DefaultDbCachePages = 2048