IBM JDK OutOfMemoryError

一个客户使用的是Oracle BPM 10.3(即:以前的BEA AquaLogic BPM,其前身是Fuego)for WebSphere,最近出现每半小时重启一次的问题,经过分析最终定位是IBM JDK升级造成的,同时找到以下信息:

NOTE: Only for Java 5.0 Service Refresh 4 (build date:February 1st, 2007) and older. When you use delegated class loaders, the JVM can create a large number of ClassLoader objects. On IBM Java 5.0 Service Refresh 4 and older, the number of class loaders that are permitted is limited to 8192 by default and an OutOfMemoryError exception is thrown when this limit is exceeded. Use the -Xmxcl parameter to increase the number of class loaders allowed to avoid this problem, for example to 25000, by setting -Xmxcl25000, until the problem is resolved. Please examine the current thread stack trace to check whether a class loader is being loaded if there is an OutOfMemoryError. For example, the following stack trace indicates that a class loader is being loaded: at com/ibm/oti/vm/VM.initializeClassLoader(Native Method) at java/lang/ClassLoader. (ClassLoader.java:120)

……

这里至关重要的一个参数是:-Xmxcl。上面的意思就是Java 5.0 SR4及以前的版本,这个参数默认是8192,如果类加载器加载的类超过这一数值就会报OutofMemoryError。解决办法就是不断的增加些值,直到找到一个合理数值。

注:Oracle BPM 10.3平台认证信息参考:

《Release Notes for Oracle Business Process Management 10gR3》

(完)

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>