Linux Server / Boot, systemd & Service Recovery
Check the running service's open-file limit rather than the login shell's
An application can exhaust file descriptors even though an administrator's ulimit looks generous. Inspect the actual service process context.
Environment and inputs: Linux server baseline · Ubuntu 24.04 LTS / RHEL 9-style systems. Use the specified distribution, init system and installed tool; service names, privileges and supported options can differ.
Start with this check
Confirm the host, shell and access role. Replace sample names, paths, domains and interfaces with approved targets. These are diagnostic commands; assess policy and workload impact before making changes.
systemctl show app.service -p MainPID -p LimitNOFILE
Read the result
The unit properties show the main process and configured limit. For the actual live process, verify its /proc limits and descriptor use through approved read access.
Resolve and verify
Compare growth with connection and file-handle lifecycle. Fix leaks first, then plan a bounded limit adjustment with host-wide capacity in mind.
Before changing production
Do not raise every limit indefinitely or assume a new shell setting changes a running daemon.