use*_*117 8 java portal permgen liferay tomcat6
我们在tomcat 6上运行liferay门户.每个portlet都是一个包含的Web应用程序,因此它包含了portlet本身所需的所有库.我们目前有30多个portlet.结果是我们的tomcat的permgen随着我们部署的每个portlet而增加.
我们现在有两条路可以遵循.将每个portlet通常使用的一些库移动到tomcat共享库.这将包括像spring/hibernate/cxf/....这样的东西来减少我们的permgen大小或更容易增加permgen大小.
第二个选项允许我们将每个portlet保持为自包含的实体.
现在的问题是,增加permgen大小会对性能产生负面影响吗?我们目前的运行速度为512MB.我发现很少甚至没有关于此的信息.但发现一些帖子的人都在谈论以1024MB permgen大小运行而没有问题.
只要您的服务器上有足够的内存,我无法想象会出现任何问题。如果不这样做,Tomcat 甚至可能无法启动,因为它无法分配足够的内存。所以,如果它确实启动了,那就好了。就我的经验而言,1GB PermGen 是完美的。
大 PermGen 的缺点是,它留给您分配给堆 (Xmx) 的系统内存较少。
另一方面,我建议您重新考虑将 portlet 视为独立实体的好处。例如:
lib/ext库切换到 Portlet 的lib库只需更改依赖项范围(这对于门户库来说可能更烦人);据我记得,Liferay SDK 还可以轻松地使用 ant 进行类似的切换,通过添加额外的 ant 任务来解决依赖关系并根据需要从 portlet 中删除它们,从而快速完成类似的lib切换