首页 > 应用开发 > Java > weblogic10.3.6软件打补丁很慢问题
最近项目中同事反馈打补丁相当慢,中单等待的时候太久,需要查明一下原因。针对weblogic10~11之间的版本,总结了使用BSU升级weblogic补丁慢的解决方法,请参考如下:
1、bs打补丁的时候由于工具配置的堆内存太小,会导致打补丁慢,最终会出现 java.lang.OutOfMemory错误解
JVMDUMP013I Processed Dump Event "systhrow", detail "java/lang/OutOfMemoryError".
Exception in thread "main" java.lang.OutOfMemoryError
at org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:257)
at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.startElement(Cur.java:2992)
at org.apache.xmlbeans.impl.store.Locale$SaxHandler.startElement(Locale.java:3194)
at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportStartTag(Piccolo.java:1082)
at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1473)
若要解决此问题,是需要增加堆内存大小,在WL_ HOME/utils/bsu目录中,bsu.cm或者bsu.sh脚本中。添加Xms和Xmx参数以增加堆大小。将原来的-Xms256m -Xmx512m 值 修改成-Xms1g -Xmx1g
示例如下:

2、 WLS BSU (Smart Update) 打补丁时占用很长时间 - 特别是在检查补丁冲突耗时需要更长时间 (Doc ID 2283399.1)
如下是官网给出来优化建议
Oracle WebLogic Server - 版本 10.3.1 到 10.3.6
Oracle Fusion Middleware - 版本 11.1.1.1.0 到 11.1.1.9.0 [发行版 Oracle11g]
本文档所含信息适用于所有平台
WLS BSU (Smart Update) 在安装补丁时会耗费很长时间. 特别是安装较大的补丁例如“补丁合集更新”(PSU)时,而检查补丁冲突耗时尤为明显。 以前你也许为BSU增加了堆内存, 但是在可接受的时间之内仍然不会完成。使用如下命令安装补丁:
./bsu.sh -install -patchlist=XXXX -patch_download_dir=<MW_HOME>/utils/bsu/cache_dir -prod_dir=<WL_HOME>
于是被内部报告为缺陷及功能增强请求来优化处理过程.
增强功能实现了优化处理过程。
先决条件:
1. 确认你的WebLogic服务器的版本是10.3.6
2. 确认你已经安装了以前的版本Smart Update 3.3.0
Patch 12426828
SMARTUPDATE 3.3 INSTALLER PLACEHOLDER
- 这是 10.3.6的补丁,即使它说是10.3.5, (当它最初发布时)
- 当你启动BSU时, 它将在加载时显示版本。 如果服务器可以访问因特网, 那么在运行该工具时,您应该可以选择智能更新.
- 你也可以运行如下命令:
%MW_HOME%\utils\bsu\bin\bsu.cmd -version (for Windows)
$MW_HOME/utils/bsu/bin/bsu/bsu.sh -version (for Unix/Linux)
Smart Update 3.3.0 参考链接:
https://docs.oracle.com/cd/E14759_01/doc.32/e14143/intro.htm#CHDCAJFC
新补丁
3. 为了达到以上需求,下载并安装补丁 < Patch 31136426> SMART UPDATE TOOL ENHANCEMENT V4
请根据 readme.txt 更新 BSU 工具。
还需要增加内存:
对于Microsoft Windows系统
编辑bsu.cmd脚本并按如下所示更改内存选项:
设置MEM_ARGS = -Xms1024m -Xmx4096m
对于UNIX系统
编辑bsu.sh脚本并按如下所示更改内存选项:
MEM_ARGS =“-Xms1024m -Xmx4096m”
更新历史:(以前版本的增强工具)
以前提供过的建议:
4. 增大堆内存防止出现 "java.lang.OutOfMemoryError: GC overhead limit exceeded" 错误:
注意: 2020年3月27日更新:在更新BSU工具之后,PSU自述文件以及以上部分中更新了内存要求。 以下项目符号仅用于历史记录。
5. 确认 MEM_ARGS 在 bsu 脚本中对 patch-client.jar 生效了:
6. 不再使用的较旧的 PSU 可以从bsu的 cache_dir目录删除, 这样可以增快一些处理.
7. 使用 "top" 命令(在 UNIX) 或者 任务管理器 (在 Windows) 确保在打补丁的时候没有其他进程导致CPU过载。
8. 如果您正在使用GUI模式并遇到冻结或挂起,请尝试命令行模式。看 Note 876004.1, "How to Apply WebLogic Server (WLS) Patches Using Smart Update".
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28833846/viewspace-2738467/ ,如需转载,请注明出处,否则将追究法律责任。