在JAVA应用程序的Ubuntu 14.04服务器上,我们收到Postgres的太多Open文件错误(使用
Postgresql 9.5).
我们在/etc/security/limits.conf中设置了以下内容
* soft nofile 16384 * hard nofile 16384 root soft nofile 16384 root hard nofile 16384 postgres soft nofile 16384 postgres hard nofile 16384
还在/etc/sysctl.conf中设置以下内容
kern.maxfiles=20480 kern.maxfilesperproc=18000
另请在以Postgres用户身份运行时查看以下结果:
-> ulimit -Hn 16384 -> ulimit -Sn 16384 -> cat /proc/sys/fs/file-max 100268
重新启动服务器并检查postgres的ulimit为100268.但是在postgres下检查打开文件的限制时,它仍然是1024和4096
# cat /proc/1072/limits Max open files 1024 4096 files
当我们重新启动postgres服务时,它已改为
#cat /proc/1759/limits Max open files 16384 16384 files
但它似乎没有受到影响,因为我们仍然得到“太多的打开文件”错误.
在Server的目录/etc/security/limits.d/和/etc/security/conf.d/中也是空的.所以任何人都可以指导我.