Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Websphere outOfMemory异常_Java_Websphere_Out Of Memory_Ibmhttpserver - Fatal编程技术网

Java Websphere outOfMemory异常

Java Websphere outOfMemory异常,java,websphere,out-of-memory,ibmhttpserver,Java,Websphere,Out Of Memory,Ibmhttpserver,本周早些时候,在我们的一台服务器上出现了WebSphereOutOfMemory异常,现在我的问题是,如果IHS能够支持的并发客户端数量有限,这是否可以避免。基本问题是由数据库锁引起的,但在清除该问题时,WebSphere内存不足 我只是想知道我们是否应该限制IHS中并发客户端连接的数量以防止发生此错误 任何帮助或建议都将不胜感激。限制并发会话的数量并不能解决问题,而是解决问题 如果WebSphere内存不足,您应该做的第一件事就是获取一个堆转储,分析它并找出应用程序消耗整个堆的原因。我可能遗漏

本周早些时候,在我们的一台服务器上出现了WebSphereOutOfMemory异常,现在我的问题是,如果IHS能够支持的并发客户端数量有限,这是否可以避免。基本问题是由数据库锁引起的,但在清除该问题时,WebSphere内存不足

我只是想知道我们是否应该限制IHS中并发客户端连接的数量以防止发生此错误


任何帮助或建议都将不胜感激。

限制并发会话的数量并不能解决问题,而是解决问题

如果WebSphere内存不足,您应该做的第一件事就是获取一个堆转储,分析它并找出应用程序消耗整个堆的原因。我可能遗漏了一些东西,但是由于数据库锁定而占用整个堆的应用程序意味着一个bug


在以下情况下,限制并发会话的数量只是一个有效的解决方案(而不是一种解决方法):

  • 每个会话占用
    X
    内存量(即:
    X
    是会话占用的最大内存量,假设应用程序按设计工作),堆大小限制为
    Y
    。在这种情况下,将并发会话的数量限制为
    Y/X
    是有意义的。这是一个有效的解决方案(而不是一种变通方法),因为实际上,您的体系结构的设计并不能承受更多的会话
  • 在复杂的体系结构中,体系结构承受大量并发会话的能力与最薄弱环节的能力一样高。例如,即使您的堆大小足以支持10000个并发用户,但您的数据库最多只能支持500个并发会话,那么您应该将并发会话的数量限制为500个

  • 您是否尝试过将堆大小增加到最佳值?您可以做的另一件事是让mustGather分析OOM的根本原因。有关更多详细信息,请参阅本文。