Table of contents

Operating system user limit requirements (Linux and UNIX)

This topic outlines the recommended operating system user process resource limits (ulimits) on Linux® and UNIX operating systems.

Depending on your installation, the Db2® database engine automatically raises the ulimits to varying degrees:
  • For some root installations, the Db2 database engine automatically raises ulimits where necessary based on the needs of the Db2 database system. However, there are situations when manual increase is needed even for root install.
  • For all non-root installations, the Db2 database engine can update only the data, nofile, and fsize ulimits for the engine process up to the hard limits imposed by the system administrator.

In either case, it might be more practical to set the resource limits permanently on your system. Especially for non-root installations, the data, nofile, and fsize ulimit values should be set appropriately by an administrator after installing.

Recommended ulimit values for non-root installations

After a non-root installation is completed, verify the hard operating system ulimits for the data, nofile, and fsize resources as the instance owner. The recommended values are outlined in the following table:
Table 1. Recommended ulimit values for non-root installations
Hard ulimit resource Description Minimum value Recommended value Command to query the value
data Maximum private memory allowed for a process The amount of memory available on the computer Unlimited ulimit -Hd
nofile Maximum number of open files allowed for a process Larger than the sum of all MAXFILOP database configuration parameters for all databases in the instance 65536* ulimit -Hn
fsize Maximum file size allowed Unlimited Unlimited ulimit -Hf

* This is the highest value supported by Db2. Setting a higher value will have no effect.

If the minimum ulimit values are not met, the Db2 database engine could encounter unexpected operating system resource shortage errors. These errors can lead to a Db2 database system outage.

Contact a root user or a System Administrator if the ulimit values need to be updated for your non-root installation. Values for ulimits must be set manually, except on AIX® operating systems, where you can set ulimits by running the db2rfe command.

Note: Processes that run on UNIX operating systems inherit the ulimit value from the user ID that started the process. You must have a sufficient data limit for all users with SYSADMIN authority and the database instance ID. If you do not set a sufficient value for the user data limit, fenced routines that run in fenced-mode processes might fail, including the autonomic computing daemon (db2acd). Automatic maintenance activities might fail to start.