Insufficient system file descriptors can cause performance issues and possible growth in the EMM_DATA.db file.

Insufficient system file descriptors can cause performance issues and possible growth in the EMM_DATA.db file.

Article: 100006242
Last Published: 2013-02-11
Ratings: 1 1
Product(s): NetBackup

Problem

 On Unix master servers, if the operating system doesn't have enough file descriptors configured, performance will be negatively impacted.  Additionally, this may also cause growth in the EMM_DATA.db file.

Error Message

No error is seen.  Resource allocations will slow down when this occurs and the EMM_DATA.db file may grow.

Cause

The operating system should minimally have 8000 file descriptors available for each process.  Some environments may need more. 

The ulimit -a command can be used to identify the current O/S setting:

# ulimit -acore file size (blocks, -c) 1048575data seg size (kbytes, -d) 131072file size (blocks, -f) unlimitedmax memory size (kbytes, -m) unlimitedopen files (-n) 2000pipe size (512 bytes, -p) 64stack size (kbytes, -s) 32768cpu time (seconds, -t) unlimitedmax user processes (-u) 262144virtual memory (kbytes, -v) unlimited

In the above example the number of open files is set to 2000. 

Solution

Administrators should consult the operating system documentation for information on how to permanently configure a file descriptor limit that is 8000 or greater.

 In most cases, nbemm will use the most file descriptors and can be monitored to determine if a system needs more than 8000 file descriptors allowed.  If the number of file descriptors in use is greater than 4000 during spot checks, the total number of file descriptors should be increased further, such as to 16000,  This will ensure that enough file descriptors are always available for the application.

On all UNIX platforms, the lsof system tool can be used to monitor many open file descriptors each process is using at any given time. 

Some operating systems, have additional tools that can be used to monitor open files.

An example is the Solaris pfiles command.  The steps to monitor file descriptor consumption using pfiles is as follows:

1,   Run ps -elf to identify the nbemm pid.

ps -elf | grep nbemm 0 S root 28714 1 0 40 20 ? 18369 ? Sep 01 ? 331:30 /usr/openv/netbackup/bin/nbemm 0 S root 23650 23637 0 60 20 ? 211 ? 08:24:31 pts/14 0:00 grep nbemm

2. Run pfiles -n <nbemm_pid> | wc -l to determine the number of file descriptors currently in use:

#pfiles -n 28714 | wc -l 4534

 In the above case, the file descriptor limit should be increased to 16000.

 

 


Applies To

Applicable to all Unix master servers at any version of NetBackup 6.0, 6.5, 7.0 and 7.1.

Was this content helpful?