AppDynamics Application Intelligence Platform

3.9.x Documentation

PDFs

Learn by Watching

Doc Maps

Skip to end of metadata
Go to start of metadata

This topic explains the importance of checking file descriptor limits and provides the steps to modify the limit for Controller installations on Linux.

Limiting the Number of File Descriptors

If you do not set the limits for number of file descriptors, AppDynamics may produce warnings such as:

  • Warning in database log: "Could not increase number of max_open_files to more than xxxx".
  • Warning in server log: "Cannot allocate more connections".

These warnings indicate that the Controller database is attempting to open more file descriptors than is permitted by the operating system. This issue can affect product integrity in larger Controller installations.

AppDynamics recommends that the maximum number of file descriptors be set to 65535 for installations in Linux environments.

To check the limits for number of file descriptors

As the root user, execute following command:

ulimit -S -n

If this value is less than 65535, change it to 65535 either in the profile or limits.conf file.

On Fedora as well as Ubuntu (and probably other modern Linux distributions) using /etc/security/limits.conf is the preferred method. You should put the ulimit command in /etc/profile only if the /etc/security/limits.conf does not exist.

To configure limits on a per-user basis in the limits.conf file

1. Open the limits.conf file for edit:

/etc/security/limits.conf

2. Add the following lines:

<login_user>     hard    nofile 65535
<login_user>     soft    nofile 65535

Where "login_user" is the username of the Linux user who runs the Controller, such as "appdynamics".

3. Enable these limits by editing:

/etc/pam.d/common-session

4. Add the line:

session required pam_limits.so

5. When you log in again as the "appdynamics" user, the limits should apply.

To configure limits for number of file descriptors in the profile

1. As the root user, add the following entry to the /etc/profile:

ulimit -n 65535

2. Reboot the host server and check the limit again.

Learn More