我在tomcat中运行了两个webapplication。 Java堆空间是为Tomcat分配的,并且它为两个appliaction共享。在那一个应用程序消耗更多,其他应用程序获得OUT_OF_MEMORY。
有没有办法为每个Web应用程序设置内存设置。对于一个webapp,说70%,从分配给Tomcat的整个内存中说30%。
此致 内甚
答案 0 :(得分:7)
内存是根据JVM实例定义的,因此如果您使用的是一个tomcat,则无法执行此操作。
但是,您可以运行两个tomcat实例 - 每个Web应用程序一个 - 然后您将更好地控制每个Web应用程序的内存分配。
答案 1 :(得分:2)
没有。 java代码的某些部分无法控制从第一部分代码调用的其他代码部分的内存消耗。换句话说,Web容器只是一个java程序,它调用应用程序中的其他一些java类方法。
所以唯一的控件就是JVM参数。而且这个参数只是暗示JVM大概失败并出现内存不足错误。不,这是不可能的。