First we start with user binding limit.

Edit: /etc/security/limits.conf

check if you have a section lines similar to:

*    hard     nofile  SOMENUMBER

if you do change it to something like or append if part is missing:

* hard nofile 750000 

* soft nofile 750000 

root hard nofile 750000 

root soft nofile 750000

note: after changing the file you will need to re-login for changes to take effect. Remember that application might be using different user.

System-Wide Limit.

Edit: /etc/sysctl.conf

change / append following value:

fs.file-max = 2097152

run sysctl -p after saving the file.

what is the difference?

file-max is the maximum File Descriptors (FD) enforced on a kernel level, which cannot be surpassed by all processes without increasing. The ulimit is enforced on a process level, which can be less than the file-max.