Tomcat中的内存分配

Tomcat中的内存分配,tomcat,memory-management,Tomcat,Memory Management,根据建议,我刚刚在安装tomcat 6.0.26时向catalina.bat文件中添加了以下行: 设置JAVA\u OPTS=%JAVA\u OPTS%-Xms128m-Xmx512m-XX:MaxPermSize=128m 我知道设置: Xms128m-Xmx512m 控制初始堆大小及其可扩展的内容。但究竟是什么: -XX:MaxPermSize=128m Tomcat自己的话: 以下是互联网上其他地方的建议 总是与大块盐一起服用 设置JAVA\u OPTS=%JAVA\u OPTS%-Xms

根据建议,我刚刚在安装tomcat 6.0.26时向catalina.bat文件中添加了以下行:

设置JAVA\u OPTS=%JAVA\u OPTS%-Xms128m-Xmx512m-XX:MaxPermSize=128m

我知道设置:

Xms128m-Xmx512m

控制初始堆大小及其可扩展的内容。但究竟是什么:

-XX:MaxPermSize=128m

Tomcat自己的话:

以下是互联网上其他地方的建议

总是与大块盐一起服用

设置JAVA\u OPTS=%JAVA\u OPTS%-Xms128m-Xmx512m-XX:MaxPermSize=128m

您最好使用CATALINA_OPTS,因为设置JAVA_OPTS会毫无意义地影响关闭脚本和启动脚本

我知道设置: Xms128m-Xmx512m

控制初始堆大小及其可以扩展的范围

在服务器环境中,通常需要将Xms和Xmx设置为相同的值,以避免堆抖动。确切的大小完全取决于您的Web应用程序需要什么

但究竟是什么: -XX:MaxPermSize=128m

这就是所谓的“永久一代”可以扩展到的空间量。PermGen主要保存java.lang.Class的实例,因此仅当您的环境中有大量类时才需要指定它

它应该设置为其他设置的附加值,还是其他设置 设置添加到它吗

这个问题是什么意思?PermGen大小完全独立于堆大小

确保系统上有足够的RAM支持Xmx+PermGen+a_lotu_其他东西。监视系统,确保您没有进入寻呼状态。

比我解释得更好。这个尺寸是文章中永久发电箱的尺寸


另请参见

那么,是否应该将一个设置为与其他设置相加?我本人从未更改过它,当您阅读存储在其中的内容列表时,我不认为堆中的内容越多意味着perm gen堆中的内容越多。当你说你遵循建议时,我想问题是给你建议的人有多专业?更新:
PermGen
在Java8中消失了。请参阅Pierre-Hugues Charbonneau的文章。谢谢巴兹尔。我会调查的。