I have a script ulim.sh in /etc/profile.d that sets my normal unprivileged user account open file descriptors soft limit to 6144. I set it up years ago, but I just noticed that it isn't working anymore. I am not sure when it quit working, but it might have been when I upgraded from 32-bit Slackware 13.37 to 64-bit 14.0 about a month ago.
The /etc/profile.d/ulim.sh script executes "ulimit -Sn 6144". I now get this message when I login:
-bash: ulimit: open files: cannot modify limit: Invalid argument
Of course I get the same error if I issue the ulimit command directly and specify a soft limit that exceeds the current hard limit of 4096. Apparently the hard limit used to be higher than 4096.
I don't know if the default hard limit changed in 14.0, or if I had increased the hard limit in the past and managed to lose that customization when I did the full install of 64-bit 14.0.
Here are limits as they exist on my system now:
$ cat /proc/sys/fs/file-max
$ ulimit -Sn
$ ulimit -Hn
I did some searches and found that system-wide limits can be set in /etc/sysctl.conf. I don't have that file, and I never have as far as I know. I also read that per-user/group/process limits can be set in /etc/security/limits.conf, but again, I have never had that file, or even the security subdirectory under /etc.
Where is the default open file descriptor hard limit set in Slackware? Did the default value change between 13.37 and 14.0?