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.
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.
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.
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
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:
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
w. GoAnywhere.com | HelpSystems.com