1、使用jconsole进行监控JVM内存使用情况,发现可以正常释放堆内存
2、配出项目复杂业务逻辑影响,直接访问index.jsp页面
当并发为2时,TPS:120 内存正常释放
当并发为4时,TPS:200 内存释放慢,导致内存溢出
从而使TPS一直下降,说明有内存未来得及释放,导致内存溢出
3、监控内存溢出数据
export JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
在weblogic启动参数中添加“-XX:+HeapDumpOnOutOfMemoryErro”令系统出现内存溢出时,生成heapdump文件,以便分析引发内存溢出的原因
1)、 系统环境参数
Weblogic <?xml version="1.0" encoding="UTF-8"?> <bea-product-information xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:gpr="http://www.bea.com/ns/cie/gpr"> <host home="/home/mw/weblogic/Oracle/Middleware" name="alipayap01"> <product format="1.0" name="WebLogic Platform"> <release level="10.3" ServicePackLevel="6" PatchLevel="0" Status="installed" InstallTime="Feb 26, 2016 10:43:17 AM" InstallDir="/home/mw/weblogic/Oracle/Middleware"> <component name="Common Infrastructure Engineering" version="7.4.0.0" InstallDir=""> <component name="Uninstall"/> <component name="Patch Client"/> <component name="Patch Attachment Facility"/> <component name="Clone Facility"/> </component> <component name="WebLogic Server" version="10.3.6.0" InstallDir="/home/mw/weblogic/Oracle/Middleware/wlserver_10.3"> <component name="Core Application Server"/> <component name="Administration Console"/> <component name="Configuration Wizard and Upgrade Framework"/> <component name="Web 2.0 HTTP Pub-Sub Server"/> <component name="WebLogic SCA"/> <component name="WebLogic JDBC Drivers"/> <component name="Third Party JDBC Drivers"/> <component name="WebLogic Server Clients"/> <component name="WebLogic Web Server Plugins"/> <component name="UDDI and Xquery Support"/> <component name="Evaluation Database"/> <component name="Workshop Code Completion Support"/> </component> <component name="Oracle Configuration Manager" version="10.3.5.0" InstallDir=""> <component name="Data Collector"/> </component> </release> </product> </host> </bea-product-information> Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013 JDK java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06) Oracle JRockit(R) (build R28.2.5-20-152429-1.6.0_37-20120927-1915-linux-x86_64, compiled mode) |
2)、初始参数
启动admin与online
Admin weblogic 50455 50366 9 16:01 pts/2 00:00:47 /home/mw/weblogic/jrockit1.6/bin/java -jrockit -Xms1024m -Xmx1024m -Dweblogic.Name=AdminServer -Djava.security.policy=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -da -Dplatform.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3 -Dwls.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/mw/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sysext_manifest_classpath weblogic.Server Online weblogic 50630 50541 99 16:02 pts/2 00:20:50 /home/mw/weblogic/jrockit1.6/bin/java -jrockit -Xms1024m -Xmx1024m -Dweblogic.Name=online -Djava.security.policy=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/cacerts -Dweblogic.threadpool.MinPoolSize=1500 -Dweblogic.threadpool.MaxPoolSize=1500 -Xmanagement -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+HeapDumpOnOutOfMemoryError -da -Dplatform.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3 -Dwls.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.home=/home/mw/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=t3://alipayap:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/mw/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sysext_manifest_classpath weblogic.Server Admin Total mapped 7421180KB (reserved=5845412KB) - Java heap 1048576KB (reserved=0KB) - GC tables 35084KB - Thread stacks 30372KB (#threads=75) - Compiled code 1048576KB (used=15521KB) - Internal 1416KB - OS 141524KB - Other 4976368KB - Classblocks 7936KB (malloced=7749KB #20800) - Java class data 130304KB (malloced=130080KB #94534 in 20800 classes) - Native memory tracking 1024KB (malloced=161KB #10) Online Total mapped 36434172KB (reserved=34360944KB) - Java heap 1048576KB (reserved=0KB) - GC tables 35084KB - Thread stacks 441364KB (#threads=0) - Compiled code 1048576KB (used=0KB) - Internal 1672KB - OS 141520KB - Other 33565572KB - Classblocks 8448KB (malloced=8175KB #22724) - Java class data 140800KB (malloced=139949KB #103882 in 22724 classes) - Native memory tracking 2560KB (malloced=1371KB #10) |