IBM Support

Server hangs due to low MAXFILOP setting

Troubleshooting


Problem

This technote discusses a difficult to debug problem that can occur with a low setting for the DB2 MAXFILOP setting.

Symptom

Occasional server hangs (especially if DB2 is running with operations that open many files) with no CPU usage but the server is I/O bound.

Cause

Very low settings for MAXFILOP causes DB2 to close down/reopen files constantly

Environment

This seems to happen only on older OSes where either hard-wired limits or low default uname -n settings seem to lead to a low default MAXFILOP setting.

Diagnosing The Problem

The server will hang or run extremely slow even for simple operations and will be completely I/O bound.

Resolving The Problem

This problem generally only seems to happen on OSes with low settings for maximum number of open file descriptors. The original problem that lead to this technote was discovered on RHEL3. The DB2 database setting MAXFILOP was set to 64, which, in certain cases, was not enough file descriptors. As a result, DB2 needed to constantly close and reopen files, which caused the server to be almost completely I/O bound.

This value needs to be increased to at least 384 and possibly higher:

(as the DB2 instance owner user)

db2 connect to <database>

db2 update db cfg for <database> using MAXFILOP 384.

(Requires DB2 restart.)

In more recent OSes, the value set for this parameter is usually much higher by default. Here's the unchanged setting from a RHEL5 ITDS 6.2 instance:


$ db2 get db config for ldap62 | grep MAXFILOP
Max DB files open per application (MAXFILOP) = 61440

[{"Product":{"code":"SSVJJU","label":"IBM Security Directory Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2;6.0;6.1;6.2;6.3;6.3.1;6.4","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg21461558