ITPub博客

首页 > 应用开发 > Java > weblogic10.3.6软件打补丁很慢问题

weblogic10.3.6软件打补丁很慢问题

原创 Java 作者:jaymarco 时间:2020-12-01 14:28:28 0 删除 编辑


最近项目中同事反馈打补丁相当慢,中单等待的时候太久,需要查明一下原因。针对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

 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 参考链接:

 


新补丁

 

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”

     更新历史:(以前版本的增强工具)

  • Nov 3, 2020:   (v3.0) replaced to reduces heap memory usage, avoid OOM error during patch application, and reduce overall patch application time. Also, fixed HP IA Bug 30198823 and Solaris 10 Bug 30867816.   
  • Dec 11, 2017:   (v2.0) replaced due to a Windows issue - bsu_update.bat has "cp" commands in it instead of "copy" commands. If you have this applied on UNIX platforms, there is no action to take.
  •    Aug 28, 2017:   (v1.0) causes a Null Pointer Exception in EBS environment. If you have this applied, rollback and apply the above replacement . Reference: Note 2288418.1  ADOP FS_CLONE Failed After WLS Patch 25153061 Is Applied


  • 请根据 readme.txt 更新 BSU 工具。


以前提供过的建议

4. 增大堆内存防止出现 "java.lang.OutOfMemoryError: GC overhead limit exceeded" 错误:

  • 进入路径 $MW_HOME/utils/bsu
  • 准备编辑 bsu.sh (对于 UNIX) 或者 bsu.cmd (对于 Windows)
  • 找到 MEM_ARGS 的设置, 例如, 默认的值是 MEM_ARGS="-Xms256m -Xmx512m"
  • 增长这些值到较高的设置, 例如., MEM_ARGS="-Xms1024m -Xmx1024m"

注意: 2020年3月27日更新:在更新BSU工具之后,PSU自述文件以及以上部分中更新了内存要求。 以下项目符号仅用于历史记录。

5. 确认 MEM_ARGS 在 bsu 脚本中对 patch-client.jar 生效了:

  • 查找如下行: 
    "$JAVA_HOME/bin/java" -jar patch-client.jar $*
  • 更改行内容确保 MEM_ARGS 被使用了:
    "$JAVA_HOME/bin/java" ${MEM_ARGS} -jar 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博客 ” ,链接:http://blog.itpub.net/28833846/viewspace-2738467/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
负责数据库、中间件、大数据等基础软件建设、优化和业务保障工作。具有10年的电信与银行企业一线/二线运维管理经验。目前专注研究云计算、中间件和数据库等领域技术研究。持有Oracle OCP、weblogic OCP、Docker容器、PGCE和阿里云ACP等认证

注册时间:2020-06-22

  • 博文量
    76
  • 访问量
    38928