If you are connected to Linux via SSH and you want to bump up number of max file open either for DB2 or for your any program, you might run into issues where it does not work for you.
Say for example:
You login as root and do this modification to /etc/security/limits.conf
# ulimit -n 1024 # cat /etc/security/limits.conf db2inst1 soft nofile 4096 db2inst1 hard nofile 9000
After you make above change and logout and login back again as db2inst1 and you run ulimit -n and you still get it as 1024.
Why did the above change did not work? It has to do something with SSH configuration and without worrying too much about it, do this change in your sshd.config file.
# cat /etc/ssh/sshd_config | grep UsePrivilegeSeparation #UsePrivilegeSeparation Yes
If you see above line as commented, uncomment it and make it as NO.
# cat /etc/ssh/sshd_config | grep UsePrivilegeSeparation UsePrivilegeSeparation No
After this, restart your sshd
# service sshd restart
Logout and login back as db2inst1 and run ulimit -n and you should see the updated value.
I did not investigate what security implications this might have but my task to see how I get it working. If you are inside your company network, you should not worry about it. I will worry if my server is exposed to internet.