IBM Support

Server performance instability or failure in response due to system configuration limitation (maxfilop).

Troubleshooting


Problem

The server can show a delayed response during the run of some processes/operations and may entirely fail to respond. 

Symptom

That performance degradation might not be reported in the server activity log, especially in case of successful completion of the process or operation.  However, many errors similar to the following could be logged in the DB2diag.log during the observed slow performance:

2019-10-16-10.04.23.434865-420 E45750976E605         LEVEL: Severe
PID     : 18188                TID : 140737352435584 PROC : db2dart
INSTANCE: tsminst1             NODE : 000
HOSTNAME: nas.s02554.us.wal-mart.com
FUNCTION: DB2 UDB, buffer pool services, sqlbCheckRegistryAndBpvars, probe:10
DATA #1 : <preformatted>
WARNING:  The user per process file descriptor limit of 4096 is less than the maxfilop setting 
of 61440.  
Decrease maxfilop to below the user process file descriptor limit, or
increase the user process file descriptor limit to remove this warning.
Setting maxfilop temporarily to 3277


2019-10-16-10.04.24.473861-420 E45751582E605         LEVEL: Severe
PID     : 18223                TID : 140737352435584 PROC : db2dart
INSTANCE: tsminst1             NODE : 000
HOSTNAME: nas.s02554.us.wal-mart.com
FUNCTION: DB2 UDB, buffer pool services, sqlbCheckRegistryAndBpvars, probe:10
DATA #1 : <preformatted>
WARNING:  The user per process file descriptor limit of 4096 is less than the maxfilop setting 
of 61440.  
Decrease maxfilop to below the user process file descriptor limit, or
increase the user process file descriptor limit to remove this warning.
Setting maxfilop temporarily to 3277


2019-10-16-10.04.25.557146-420 E45752188E605         LEVEL: Severe
PID     : 18257                TID : 140737352435584 PROC : db2dart
INSTANCE: tsminst1             NODE : 000
HOSTNAME: nas.s02554.us.wal-mart.com
FUNCTION: DB2 UDB, buffer pool services, sqlbCheckRegistryAndBpvars, probe:10
DATA #1 : <preformatted>
WARNING:  The user per process file descriptor limit of 4096 is less than the maxfilop setting of 
61440.  
Decrease maxfilop to below the user process file descriptor limit, or
increase the user process file descriptor limit to remove this warning.
Setting maxfilop temporarily to 3277

'maxfilop' - Maximum database files open per database. This parameter specifies the maximum number of file handles that can be open per database. If opening a file causes this value to be exceeded, some files in use by the database are closed, the additional processing time of opening and closing files will become excessive and might degrade performance.

Cause

System Configuration Limitations - Most of the time this problem is due to an underprovisioned configuration. However, it also might be that a process is 'leaking' file descriptors.  In other words, the process is opening files but does not close them, leading to exhaustion of the available file descriptors.

Resolving The Problem

Checking the ulimit for the number of file handles, which is usually set too low by default and verifying that user limits are matching the server requirements. 

  • In order to know the required access rights and user limits for the server instance, please click here.
  • Checking the current limits (in order to verify and update the current user limits, please make sure to run the following commands as instance owner ID. That makes you verify the  current instance owner limits and when you update it, the update will be valid for that server instance):

'ulimit -a' command will print the list of current limitations for the current session. The interesting one here will be 'nofile(s)'. as any server started will by default inherit these limits. for example:

        # ulimit -a
            file(blocks) unlimited
            data(kbytes) unlimited
            stack(kbytes) 32768
            memory(kbytes) 32768
            coredump(blocks) 2097151
            nofiles(descriptors) 2000
            threads(per process) unlimited
             processes(per user) unlimited

  • In case the limit is not matching the server requirements, you should increase it as follows:
       # ulimit -n
            65536

Document Location

Worldwide

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSEQVQ","label":"IBM Spectrum Protect"},"Component":"Server","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB26","label":"Storage"}}]

Historical Number

TS002872157

Product Synonym

TSM;IBM Spectrum Protect;Tivoli Storage Manager;ITSM;ADSM

Document Information

Modified date:
03 April 2020

UID

ibm11096570