环境一:机器上安装了两个liferay系统,4..3.3和4.3.5, 只运行4.3.3 。刚开始启动时,一切正常运行,一段时间之后CPU变为重负载,其中java引擎占用了99%。
网上查点资料,说可能与select 语句中的limit有关,或者与资源释放有关,或者说与日志文件大小有关,都不是正解。
---------------------------------------------
找到问题了:
因为Liferay在运行时,会在user.home目录下建立一个liferay目录,存放全文检索的索引,以及Document_library中存储的文件,多个版本的Liferay运行时,会造成这些索引与dl的混乱。因而导致一访问Docuemnt_Library Portlet,就会使java.exe进程占用的内容越来越大,直到JVM自动回收,这样一个生产,一个回收,就造成CPU的空转。
解决办法很简单,就把user.home目录下的liferay目录删除,然后将数据库中的Document_library数据也删除,然后重新启动liferay,并re-index就好了。
---------------------------------------------
环境二:安装了多个liferay系统(5,6个),最近运行系统时,点击登录之后,系统无反应,刷新后能进入系统(显示已经登录),不刷新则一直显示为正在登录的状态。
可能原因:
1、多个liferay引起cookie问题;
2、liferay运行时自动创建的deploy, eheache, lucence, 等文件夹有冲突(删除后还不行,基本排除)
3、用jprofiler查看,可能是FriendURL或者HibernateSessionFactory有关,因为这几个部分占用CPU时间特别的长,但还没有找到具体原因。
---------------------------------------------------
第二个问题找到原因了。主要是在portal.properties中配置出现冲突了。
默认用户角色设为User,将Power User去掉;
然后又将my.places.show.user.private.sites.with.no.layouts=false,这样,而在Default Landing Page设置中,又将缺省登录页设到了private site。
呵呵,这样就出问题了,不让人家看到private site,又将default landing page设为private site,当然登录时,系统就会迷惑了,“到底让我去哪里???”,呵呵。
------------------------------------------------------------------
如果哪位有类似经历,请共同探讨一下。