ulimit已更改为unlimit时,无法增加Wildfly的“最大打开文件数”

时间:2019-01-31 03:15:59

标签: java ubuntu wildfly ulimit

我正在使用Wildfly开发Ubuntu 16.04。我收到一个错误“原因:java.net.SocketException:打开的文件太多”。因此,我将所有用户的ulimit更改为ulimited。

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 128429
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

在/etc/security/limits.conf

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535
root soft     nproc          65535
root hard     nproc          65535
root soft     nofile         65535
root hard     nofile         65535

问题是,除了wildfly之外,另一个Java进程都获得了新的打开文件值(65535)

 cat /proc/1717/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             128429               128429               processes
Max open files            4096                 4096                 files
Max locked memory         16777216             16777216             bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       128429               128429               signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

我已经重新启动服务器。请告诉我如何解决此问题

1 个答案:

答案 0 :(得分:0)

可以根据服务器中的每日负载来设置JBoss ulimit的最大进程,但是标准大小是65536,并且openfiles也可以设置为65536以上。我们对并发用户和每个用户的最大点击数进行了负载测试。秒就数字得出结论。

检查JBoss ulimit

jboss@user1>ulimit -aS ---> soft limit
jboss@user1>ulimit -aH ---> hard limit