Ich legte einen Java-Wrapper-Service in Linux rc.local-Datei. , wenn ich das System neu starten, starten Sie dann 200 Anforderung pro Sekunde, wird wie Ausnahmen steigen: Linux Java Wrapper Service, NoClassDefFoundError durch zu viele offene Dateien verursacht
Aber wenn ich den Dienst beenden und manuell geschieht beginnen keine Ausnahme.
I verwendet lsof | wc -l
, Ergebniszähler nicht größer als 30000.
Was dieses Problem verursachen kann?
Einige Linux-Konfiguration wie:
[[email protected] ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63674
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 655350
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 63674
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[[email protected] ~]# cat /proc/sys/fs/file-nr
25632 0 1619324
[[email protected] ~]# cat /proc/sys/fs/file-max
1619324
Ich weiß nicht, ist, dass eine gute Lösung. Gibt es noch andere Möglichkeiten? – xiaosunzhu