gpt4 book ai didi

mysql - Tomcat6 jk-8009 服务使用 100% CPU

转载 作者:行者123 更新时间:2023-11-28 23:32:06 26 4
gpt4 key购买 nike

我的 tomcat6 有问题,当我“top -H”时,我可以看到 3 个 java 线程以 100% CPU 运行。我使用 PSI-probe 查看了 tomcat 正在做什么,在 jk-8009 下的“连接器”选项卡中,我可以看到以下 3 行:

远程 IP 阶段 Proc.time IN OUT URL
192.168.10.11 服务 20:02:17.105 522 B 0 B POST/configuration.jsf
192.168.10.11 服务 20:02:17.171 447 B 0 B POST/configuration.jsf
192.168.10.11 服务 20:02:17.167 447 B 0 B POST/configuration.jsf

根据top命令,3个100%的进程已经运行了1197分钟,似乎对应上面3行显示的20:02分钟。所以我很确定这 3 个服务是问题所在。

声明的/configuration.jsf 是应用程序的主页,因此它可以是任何内容。

重启tomcat解决问题,但我需要找出问题的原因。

我在日志中看不到崩溃。我在互联网上四处张望,在我看来这可能是数据库中的一个死锁。

该应用程序使用 JSF、Prime Faces。数据库是mysql

有人可以就此事发表意见吗?

编辑:

在/etc/tomcat6/server.xml中,我有这样的配置

    <!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

最佳答案

在 Tomcat 8.0.21 中使用阻塞式 Java 连接器为我解决了这个问题:

<Connector port="8009" protocol="org.apache.coyote.ajp.AjpProtocol" redirectPort="8443" />

现在,当没有使用时,CPU 保持在大约 0.3%。使用 AjpNio2Protocol 得到与 CPU 相同的结果,但在我的性能测试中 AjpProtocol 更快一些。

https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html#Connector_Comparison

关于mysql - Tomcat6 jk-8009 服务使用 100% CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29120710/

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