java - Java tomcat线程内存使用限制
问题描述
我有一个处理一些 REST API 请求的 tomcat 服务器。此 tomcat 崩溃是由于某些输入中的一个特定休息请求中的内存不足错误导致大堆大小使用,从而导致所有站点崩溃。
我想限制这个休息请求内存使用我该怎么做?我通常想保护 tomcat 免受导致它崩溃的大内存使用请求。我该怎么做?也许以某种方式限制所有线程的最大堆大小?
解决方案
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
您可能正在寻找maxPostSize
编辑
OP澄清说这是他的程序内存不足,而不是实际的帖子。
JVM的堆是共享的,每个线程都没有一个堆,所以你问的是不可能的。您可以设置任意低的堆栈大小并让 JVM 在达到特定调用深度时终止您的线程,但这几乎是解决问题的可靠途径,因为您不能保证锁会被放回有效状态。
我猜你的代码在内存中保存了相当多的数据。也许你可以问另一个问题,这样可以帮助你设计你的程序,让它使用更少的内存?
推荐阅读
- jquery-select2 - 如何使用 AJAX 预加载 select2 插件?
- sql-server - MSSQL:带有链接服务器的事务隔离级别
- python - 将值分配给 numpy 矩阵的多列而不循环
- mongodb - Mongodb如何找到所有符合条件的子文档
- tensorflow - 输出节点名称 tensorflow checkpoint
- php - VS代码的语法高亮被heredoc破坏
- google-apps-script - 如何在 Web 应用程序中获取基本 URL(即 /exec 与 /dev)?
- git - 如何在 git 中将未推送的提交从一个(本地)分支移动到另一个分支?
- c++ - 使用 googletest 在类型参数化测试中识别使用的基类
- python - 尝试转置矩阵时遇到“索引超出范围”