Direct answer

Too many open files normally means the process hit its file-descriptor limit (EMFILE). Confirm the current limit and the number of open descriptors for the running Java process before changing operating-system limits.

What it means

File descriptors represent files, sockets and pipes. A heavy plugin, proxy connection load, leaked handles, or too-low inherited process limit can exhaust them. Raising a limit without finding uncontrolled growth may only delay failure.

If you are a player

  • Send the owner the exact error and timestamp; this must be diagnosed on the host.

If you run the server

  1. On Linux, identify the affected Java process and inspect its current Max open files limit, descriptor count and growth while reproducing the problem.
  2. Compare the time of growth with plugin tasks, log rotation, network connections or recent updates. Check your application and plugin logs before assigning blame.
  3. If the count is stable but the service limit is too low, adjust the service supervisor/panel configuration. For systemd, LimitNOFILE= is set at the unit level; shell ulimit may not affect an existing systemd service.
  4. Restart gracefully after a measured configuration change, then monitor descriptor counts over time. Investigate ongoing growth or a suspected leak rather than raising limits indefinitely.
# Linux only; replace 12345 with the actual Java PID:
cat /proc/12345/limits | grep "Max open files"
ls -1 /proc/12345/fd | wc -l
# When managed by systemd:
systemctl show minecraft.service -p LimitNOFILE
Permissions

Inspection of another user’s /proc entries may require host-admin privileges. Hosting panel users should consult the provider; do not attempt to bypass shared-hosting limits.

References

Use the documentation for the exact software and release you run. These sources support the settings or diagnostic behavior used in this fix.

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000