随着进程限制的增加,无法解决“ java.lang.OutOfMemoryError:无法创建新的本机线程”的问题

时间:2018-12-23 17:23:10

标签: java linux

我们正在运行大约60个带有Java应用程序的Linux服务器,它们运行良好,直到大约一个月前,当两个服务器开始抛出臭名昭著的“ java.lang.OutOfMemoryError:无法创建新的本机线程”错误时。 通过互联网阅读会告诉您,这是由于以下事实导致的:由于进程限制,您的操作系统无法生成更多本机线程。

现在的问题是:大约有700-1000个进程正在运行,其上限设置为1,3百万,第二个进程超过了400万,只是为了消除该因素(ulimit)。 RAM几乎未满,大约60%。重新启动可以解决此问题一到两天,然后重新开始出现。

今天,第三台服务器开始出现此问题。它们的共同点是使它们与其他服务器不同,它们的配置是:它们具有双插槽10c / 20t Xeon处理器和256GB RAM。我没有运行此问题的服务器运行单个套接字(这是其中大多数服务器)

操作系统:Ubuntu 18.04.1 LTS,Java:1.8.0_191-b12

startup parameters: -d64 -server -Xms{memory}M -Xmx{memory}M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts

({memory}蜂根据过程被替换为不同的值)

上个月未对运行的软件进行任何更改/更新。

0 个答案:

没有答案