ERROR Too many open files

View some of the Frequently Asked Questions to our support staff. Included are some tips and tricks making this forum ideal for users getting started with GoAnywhere MFT. Note: Users can reply to existing topics but only our support staff can add new topics to this forum.
1 post Page 1 of 1

Support_Philip

User avatar
Posts: 44
Joined: Wed Jun 21, 2017 8:12 am

Post by Support_Philip » Mon Feb 04, 2019 3:49 pm
Question:

I'm receiving an error that indicates i have too many open files. How do i resolve this?

ERROR: Unable to connect to GoAnywhere Server. URL is: https://localhost:8000/goanywhere. socket(): Too many open files for this process.

Answer:

In order to resolve this error we recommend that you set the ulimit on the OS to be unlimited. Each operating system has a different hard limit setup in a configuration file. While running unlimited may not be typical with servers that share applications, in our experience a customer best practice is hosting GoAnywhere MFT on a dedicated server. This is due to the mission critical processes that GoAnywhere is often responsible for performing.

Under Linux, these settings are often in /etc/security/limits.conf

The hard open file limit on Solaris can be set on boot from /etc/system.

set rlim_fd_max = 166384
set rlim_fd_cur = 8192

On OS X, this same data must be set in /etc/sysctl.conf.

kern.maxfilesperproc=166384
kern.maxfiles=8192

For iSeries:

The maximum may be increased by calling the DosSetRelMaxFH API. There is a DosSetRelMaxFH api() explanation and example in the IBM Knowledge Center.

Soft Limits and Hard Limits:

Soft limits are simply the currently enforced limits
Hard limits mark the maximum value which cannot be exceeded by setting a soft limit
Soft limits could be set by any user while hard limits are changeable only by root. Limits are a property of a process. They are inherited when a child process is created so system-wide limits should be set during the system initialization in init scripts and user limits should be set during user login for example by using pam_limits.

Open files include anything GoAnywhere MFT is connecting to, whether that be a file on the file system, database connections, or incoming/outgoing socket connections.

For example:

Open File Handles

derby DB files on disk (if in use)

open jar/MFT lib files

admin configuration files

any files projects are working with

open file connections to the Lucene index on file system


Example of Open Sockets (also considered open files by Linux)

connections to back-end DB

inbound user connections

outbound socket connection to external resources

cluster connections


The max number of open files is very much dependent upon which features of the application you are using, and to what extent. Also whether or not you are using the embedded derby DB, which can greatly increase the number of open files as a file-based database. Please see the below link on our database recommendations and best practices:

goanywhere-database-recommendations-1338#p2750

You can actually see the open files per process by running the following command on the system where GoAnywhere is installed.

lsof -p <PID>

You can also get a general count by piping that to a word count by lines command
Philip Horn
Support Analyst
e. philip.horn@helpsystems.com
p. 1-800-949-4696
w. GoAnywhere.com | HelpSystems.com
1 post Page 1 of 1