java - 64GB RAM 和 32vCPU VPS 上的 Java 应用程序 - 无法创建新的本机线程
问题描述
我们有一个 java 应用程序托管在两个不同的应用程序服务器上,每个应用程序服务器具有64GB RAM和32vCPU。和 HaProxy 作为前面的负载均衡器。
在我们的 VPS 服务器中使用此设置,我们无法达到 100 个并发用户。即使我们有足够的可用内存(大约 40GB RAM),应用程序也会不断抛出以下错误消息。
ERROR org.springframework.boot.context.web.ErrorPageFilter - Forwarding to error page from request [/create-new] due to exception [unable to create new native thread]
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method) [na:1.8.0_262]
at java.lang.Thread.start(Thread.java:717) [na:1.8.0_262]
at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.createThread(DefaultGroovyStaticMethods.java:104) ~[groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.start(DefaultGroovyStaticMethods.java:58) ~[groovy-2.4.5.jar:2.4.5]
at sun.reflect.GeneratedMethodAccessor2752.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_262]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_262]
at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:54) ~[groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.metaclass.NewStaticMetaMethod.invoke(NewStaticMetaMethod.java:53) ~[groovy-2.4.5.jar:2.4.5]
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:151) ~[groovy-2.4.5.jar:2.4.5]
内存
App1 # free -m
total used free shared buff/cache available
Mem: 65536 21480 44056 2 10341 33715
Swap: 0 0 0
但是,在具有相同配置和设置的 AWS 上,该应用程序可以处理 200 多个并发用户。
我们很绝望,任何建议将不胜感激!
解决方案
推荐阅读
- delphi - 如何在富编辑中获取所选文本的字体名称
- java - 对话框在 libGDX 中显示不正确
- javascript - 如何打印带有画布的div元素
- c# - 如何在 C# (FormBorderStyle = Sizable) 中使用所有尺寸选项创建自定义边框?
- django - authentication_form 不适用于 DJango 中的 LoginView 类
- python - 无效的命令名称“55882440flash”:执行“55882440flash”时(“after”脚本)
- c# - C# 中图表的 System.ExecutionEngine 异常
- python - QRS 检测算法
- r - 在 Caret 中建模 SVM 字符串内核的好例子?
- python - 在kivy python中调用函数