[Liferay]Liferay 内存调整

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 VM
Could not reserve enough space for object heap
Could 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值