Java 资源利用率高-Weblogic服务器

Java 资源利用率高-Weblogic服务器,java,ubuntu-16.04,weblogic12c,ubuntu-16.10,Java,Ubuntu 16.04,Weblogic12c,Ubuntu 16.10,我有一个服务器,有4个CPU和16GB的RAM。 这台Ubuntu机器上运行着一台Weblogic管理服务器、两台托管服务器和一台Tomcat服务器 资源利用率有时会爆炸,这是非常不寻常的。这以前从未发生过,我认为这与我使用的Java参数有关 看看这个: Weblogic群集: 管理服务器:qaas-01 托管服务器:qams-01、qams-02 在下图中,您将能够看到与上面相关联的java进程正在成倍增长并消耗过多内存 我发现这更通用,而不是特定于Weblogic。 许多进程都以相同的方

我有一个服务器,有4个CPU和16GB的RAM。 这台Ubuntu机器上运行着一台Weblogic管理服务器、两台托管服务器和一台Tomcat服务器

资源利用率有时会爆炸,这是非常不寻常的。这以前从未发生过,我认为这与我使用的Java参数有关

看看这个:

Weblogic群集: 管理服务器:qaas-01

托管服务器:qams-01、qams-02

在下图中,您将能够看到与上面相关联的java进程正在成倍增长并消耗过多内存

我发现这更通用,而不是特定于Weblogic。 许多进程都以相同的方式运行

在下图中,它的ApacheTomcat和Jenkin的从进程正在复制和消耗内存


有人能帮我找出真正的问题吗?

这个问题相当广泛,所以开始研究它可能发生的原因。也发布JVM标志,如果您更改了任何可能导致此问题的内容

首先,您需要弄清楚什么占用了您的CPU时间

检查weblogic配置控制台以生成堆栈跟踪,查看发生了什么。您可能需要坐下来观察CPU,以便在CPU出现峰值时运行它。还可以使用jstack强制堆栈跟踪。要获得java stacktrace,您可能需要sudo并以运行服务器的用户的身份执行它,否则您将获得OS线程转储,这可能没有那么有用。了解jstack

如果上面没有提供足够的信息说明CPU峰值的原因,并且由于这是ubuntu,您可以运行:

timeout 20 strace -cvf -p {SERVER PID HERE} -o strace_digest.txt
这将运行strace 20秒,并报告哪些操作系统调用最频繁。这可以给你一个关于发生了什么的提示

启用并检查垃圾收集日志,查看它运行的频率,它可能没有足够的内存。查看GC运行和CPU峰值之间是否存在相关性


我不认为有一个明确的方法可以通过查看顶部来帮助您解决CPU峰值问题,但以上是让您调试的一个开始。

太少的细节无法提供帮助。请告诉我您需要什么细节