Java tomcat线程内存使用限制

时间:2019-06-17 17:51:57

标签: java tomcat thread-safety out-of-memory backend

我有一个雄猫服务器,可以处理一些其余的API请求。 此tomcat崩溃是由于某些输入中的一个特定的rest请求中的内存不足错误而导致的,导致大量堆大小的使用,从而使所有站点崩溃。

我想限制此剩余请求的内存使用量,我该怎么办? 我通常想保护tomcat免于因大内存使用而导致崩溃的请求。我该怎么做?也许以某种方式限制所有线程的最大堆大小?

1 个答案:

答案 0 :(得分:0)

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

您可能正在寻找maxPostSize

编辑

OP澄清说是他的程序内存不足,而不是实际的帖子。

JVM的堆是共享的,每个线程没有堆,因此您所要求的是不可能的。您可以设置任意低的堆栈大小,并让JVM在达到某个调用深度时杀死线程,但这几乎可以确保解决问题,因为您不能保证将锁放回去进入有效状态。

我猜您的代码在内存中保存了大量数据。也许您可以问另一个问题,那么SO可以帮助您设计程序以便使用更少的内存吗?