SpringBoot 负载测试接近尾声时 Wildfly 崩溃

Wildfly crashes when SpringBoot load test is near the end

我有这样的场景:一台 4GB 内存的 centos 机器,运行 两个 tomcats,一个里面有 3 个应用程序,另一个 运行 2 个应用程序,还有一个 wildfly一个正在运行的应用程序。

此外,我有一个 SpringBoot 应用程序(tomcat 嵌入式)公开了一个休息 api,侦听某个端口。

Wildfly 是 运行 xmx 3072 和 xms 2048。 Tomcat 是 运行 xmx 1024 和 xms 512。

我正在对 springBoot 应用程序进行负载测试,快完成时,wildfly 进程崩溃了。

我看到内存使用情况正如预期的那样几乎是最大的,而且 CPU 也是,特别是在 springBoot 进程上。

我的问题是,这是一个 linux-centos 条件,它使某个进程优先于另一个进程并终止它吗?还是 JVM 条件?

谢谢。

当 Linux 内存 运行 内存不足时,内存不足杀手将 select 杀死一个或多个进程。 selection 标准之一是进程使用的内存量。内存使用率越高,不良评级越高。这使得您的 Wildfly 进程很可能会被终止。您可以阅读有关 OOM 杀手和 selection 标准 here.

的更多信息