gpt4 book ai didi

java - Linux Java Wrapper Service,打开文件过多导致NoClassDefFoundError

转载 作者:太空狗 更新时间:2023-10-29 12:42:20 24 4
gpt4 key购买 nike

我在 linux rc.local 文件中设置了一个 java 包装器服务。当我重新启动系统,然后每秒启动 200 个请求时,会出现如下异常: enter image description here

但如果我停止服务并手动启动,则不会发生异常。

我使用了 lsof | wc -l,结果数不大于30000。

什么可能导致该问题?

一些 linux 配置如:

[root@38 ~]# 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

[root@38 ~]# cat /proc/sys/fs/file-nr
25632 0 1619324
[root@38 ~]# cat /proc/sys/fs/file-max
1619324

最佳答案

我找到原因了。

可以通过cat/proc/[PID]/limits找到进程的真正限制

我可以在 /etc/security/limits.conf/etc/sysctl.conf 中配置打开文件限制。我可以通过 ulimit -a 查看配置的数字,因为我登录了,我们可以找到 limits.conf 是“man”为登录 session 配置的 pam_limits 模块。但是如果在rc.local中启动服务,pam_limits模块将不会生效。

最后,我通过在 rc.local 中添加 ulimit 命令解决了这个问题:ulimit -SHn 655350

关于java - Linux Java Wrapper Service,打开文件过多导致NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38116996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com