The FCM buffer pool and memory requirements

In a partitioned database system, the fast communication manager (FCM) buffer shared memory is allocated from the database manager shared memory.

This is shown in Figure 1.

Figure 1. The FCM buffer pool when multiple logical partitions are used
FCM buffer pool components for multiple logical partitions

The number of FCM buffers for each database partition is controlled by the fcm_num_buffers database manager configuration parameter. By default, this parameter is set to automatic. To tune this parameter manually, use data from the buff_free and buff_free_bottom system monitor elements.

The number of FCM channels for each database partition is controlled by the fcm_num_channels database manager configuration parameter. By default, this parameter is set to automatic. To tune this parameter manually, use data from the ch_free and ch_free_bottom system monitor elements.

The Db2® database manager can automatically manage FCM memory resources by allocating more FCM buffers and channels as needed. This leads to improved performance and prevents out of FCM resource runtime errors. On the Linux® operating system, the database manager can preallocate a larger amount of system memory for FCM buffers and channels, up to a maximum default amount of 4 GB. Memory space is impacted only when additional FCM buffers or channels are required. To enable this behavior, set the FCM_MAXIMIZE_SET_SIZE option of the DB2_FCM_SETTINGS registry variable to YES (or TRUE). YES is the default value.