OSW使用oswbba.jar数据分析遇到的一些问题
前言
昨晚网络和存储工程师机房调整导致私网断开1min后RAC的2节点脑裂。
其中osw信息需要使用oswbba.jar分析的时候遇到一些问题,加上以前也遇到过一并总结记录下。
使用方式
通过mos文档OSWatcher (Includes: [Video]) (文档 ID 301137.1)下载安装包。
通过以下方式分析osw产生信息:
[root@node2 ~]$ java -jar /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/oswbb/oswbba.jar -i /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/archive
如果是通过oswbb840.tar类似的安装包解压部署的话,oswbba.jar就在软件包的根目录内。
使用过程中,遇到如下报错。
报错1
信息如下:
[root@node2 ~]$ java -jar /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/oswbb/oswbba.jar -i /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/archive ...... OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f36e0400000, 62914560, 2097152, 0) failed; error=‘Cannot allocate memory‘ (errno=12) ...... OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005ae200000, 538968064, 2097152, 0) failed; error=‘Cannot allocate memory‘ (errno=12) ......
网上一堆说是内存不足或者swap不足,我这边机器都很足所以并不是这个问题。
[root@node2 ~]# free -m total used free shared buffers cached Mem: 257787 181944 75843 0 635 7365 -/+ buffers/cache: 173942 83844 Swap: 32767 0 32767
另外还有说运行这个就行了,在不清楚具体含义和影响之前也不敢在生产机器上搞。
echo 1000000 > /proc/sys/vm/max_map_count
查mos,根据OSWatcher Fails With ‘Java.lang.OutOfMemoryError: Java heap space‘ Error (文档 ID 2288156.1),增加jvm大小并启动即可。
java -jar -Xmx1024M /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/oswbb/oswbba.jar -i /u01/app/grid/tfa/repository/suptools/node2/oswbb/grid/archive
另外,根据On Exalogic Node, Java Cannot Allocate Memory Warnings Observed: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000607600000, 530579456, 2097152, 0) failed; error=‘Cannot allocate memory‘ (errno=12) (文档 ID 1593936.1),这个是JDK7u40 (1.7.0_40-b43)的一个bug16748995,在 JDK8 中修复,并将包含在 JDK7u60 中。
这篇mos的报错信息比较一致,就是需要升级jdk,由于生产环境没敢升级。不过确实,执行java -version都报错了,版本也1.7.0_45算JDK7u40??
[root@node2 ~]# java -version OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f5604400000, 62914560, 2097152, 0) failed; error=‘Cannot allocate memory‘ (errno=12) java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.3.0.1.el6-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
该mos还提到,如果无法升级jdk,
Please add the JVM option flag:
-XX:-UseLargePages
The option -XX:-UseLargePages disables the use of Large pages on a machine where the large pages are available.
不懂。
报错2
同样是执行报如下错误,而且网上找不到解决办法。
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5694, Size: 5694 at java.util.ArrayList.rangeCheck(ArrayList.java:659) at java.util.ArrayList.set(ArrayList.java:450) at u.c(Unknown Source) at J.c(Unknown Source) at u.a(Unknown Source) at OSWGraph.OSWGraph.main(Unknown Source)
参考文档
OSWatcher (Includes: [Video]) (文档 ID 301137.1)
OSWatcher Fails With ‘Java.lang.OutOfMemoryError: Java heap space‘ Error (文档 ID 2288156.1)