gpt4 book ai didi

java - JVM 耗尽连接,导致 CPU 利用率高和 OutOfMemoryException

转载 作者:行者123 更新时间:2023-12-02 00:09:29 25 4
gpt4 key购买 nike

我们有一台 64 位 Linux 机器,我们与其他服务建立多个 HTTP 连接,Drools Guvnor 网站(规则引擎,如果你不知道的话)就是其中之一。在 drools 中,我们为每个触发的规则创建知识库,并且知识库的创建会与 Guvnor 网站建立 HTTP 连接。

所有其他线程都被阻塞,CPU 利用率上升到约 100%,从而导致 OOM。我们可以在 15-20 分钟后更改编译规则。但我想确定这个问题是否有人已经遇到过。

我检查了“cat/proc/sys/kernel/threads-max”,它显示了27000个线程,这可能是一个原因吗?

我有几个问题:

  1. 我们什么时候知道我们已经超出了容量?
  2. 可以在内部生成多少个线程(任何与 diff 参数相关的粗略估计或公式都可以)?
  3. 还有其他人遇到过 Drools 的类似问题吗?对 Guvnor 网站的并发访问基本上是导致该问题的原因。

谢谢

最佳答案

我的回答基于这样的假设:您正在为每个请求创建一个知识库,并且此知识库创建包括从 Guvnor 下载最新规则源,如果我错了,请纠正。

我怀疑软件包的构建/编译需要时间并占用您的系统。

您可以从 guvnor 下载预构建包,而不是在每个请求上编译包,如果您的规则没有太大变化,您也可以在本地缓存此包。唯一的限制是您需要在 guvnor 和您的应用程序中使用相同版本的 drools。

关于java - JVM 耗尽连接,导致 CPU 利用率高和 OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137234/

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