[Liferay]Liferay 内存调整

来源:互联网 发布:乐福数据与 编辑:程序博客网 时间:2024/05/16 06:03
liferay version           :  liferay-portal-6.1.1-ce-ga2
server                      : tomcat 7.0.25
jdk: jdk1.7.0_51

在 liferay 开发过程中,随着代码量不断增大,部署应用越来越多,难免会感觉 liferay 反应越来越慢
这种时候除了抱怨 liferay 性能不好之外还是想办法如何解决眼前问题
况且抱怨 liferay 原本就是没有道理的, liferay 不是 wordpress,抛开 plugin 其本身架构就比较庞大,所以完全可以通过配置 portlet.properties 尝试性能调优
在这里不谈论 java 代码优化,也不讨论集群,开发环境仅仅就基于是单个 JVM

启动 liferay 之后查看 Server Administration, 



可以发现默认情况下分配给 liferay 的 Maximun Memoty 是 1024mb, 当 Total Memory 逼近 1024mb 时难免会觉得有反应慢的情况
一般都会考虑来走一个 GC,但一般情况没多大改善



那就干脆加大这个 Maximun Memory
起初想这个好办,打开 tomcat startup.bat, 在最上面添加类似

JAVA_OPTS=-Xmx2048m -Xms1024m

但这样改完根本启动不了 tomcat
运行 catalina run 发现这么几句

Error occurred during initialization of VMCould not reserve enough space for object heapCould not create the Java virtual machine.

没有 enough space,这是因为 liferay 在默认启动时并不会理会系统环境变量里配置的 java home 配置,而是使用 %LIFERAY_HOME%\tomcat-{version}\jre1.6.0_20 路径中的 jre
这个 jre 是32位的,最大 Xmx 配置就是 1024m
解决办法就是打开 %LIFERAY_HOME%\tomcat-{version}\bin 目录下 setenv.bat

if exist "%CATALINA_HOME%/jre1.6.0_20/win" (if not "%JAVA_HOME%" == "" (set JAVA_HOME=)set "JRE_HOME=%CATALINA_HOME%/jre1.6.0_20/win")set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8 -Djava.net.preferIPv4Stack=true -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false -Duser.timezone=GMT+8 -Xmx1024m -XX:MaxPermSize=256m"

就是这儿配置 tomcat 默认使用的 jre,删除 if 条件内所有内容
在下面 set 一行修改 Xmx,当然 JVM 配置还需要其他什么都可以在这儿改
修改完成之后看效果



好使了


0 0
原创粉丝点击