行使软件版本:WebLogic 9 VCD 
操作系统:SUSE Linux 10
sp2

设置收尾汤姆cat,运转后连连卡住在“INFO deploying web application
directory……”,浏览器访问8080端口,访问不到。修改成其它端口后,运维依然会卡很久,不过浏览器访问新布局的端口,就足以访问到。

修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security
文件

在项目中用到了随机数,使用了SecureRandom.getInstance(“SHA1P凯雷德NG”),发掘第壹遍运营,时间极长。

澳门金沙国际 ,在linux成立domain过慢的缓和情势,消除情势。创制域慢运营慢的天性:创制域到十分九时,进程长日子等待(命令行创造时停下在百分之百处),创立域运转Weblogic的时候也是长日子结束。

如图:

理之当然,以上说的情景,是Linux景况。

Weblogic在Linux下运维慢的原由,发掘从过程堆来看,线程挂在security相关的轻松数生成上边,是由于JDK的Bug(JDK从/dev/random读取‘randomness’平常费用10分钟或许更加长的小运),查询了下有关质感,化解办法能够有如下三种办法:

澳门金沙国际 1

securerandom.source=file:/dev/urandom

在自家本地运维并十分的快,本地是Windows景况。

1)较好的化解办法: 在Weblogic运转参数里增添 “-

化解方案:

修改为

查了一些素材,可参看

Djava.security.egd=file:/dev/./urandom” (/dev/urandom 不或许运行)

此方案,借鉴网络的剧情:

securerandom.source=file:/dev/./urandom

个中并不曾说化解办法,小编的化解办法如下:

2)最差的消除办法: 推行命令 mv /dev/random /dev/random.OLANDIG ; ln
/dev/urandom /dev/random

找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source那几个装置项,将其改为:

 

1.修改Linux的JVM环境,打开$JAVA_PATH/jre/lib/security/java.security那一个文件,找到上面包车型客车剧情

将/dev/random 指向/dev/urandom

securerandom.source=file:/dev/./urandom

 

securerandom.source=file:/dev/random

3)最佳的化解办法:  修改Linux上Weblogic使用的jdk
$JAVA_HOME/jre/lib/security/java.security 文件

那时候依据修改内容就足以查到因为此原因不仅能变成tomcat卡住,也会招致weblogic运维缓慢,

那般能够消除其余一个域实际是JVM在Linux下的bug

替换为

将securerandom.source=file:/dev/urandom 修改为

linux恐怕某些unix系统提供随机数设备是/dev/random 和/dev/urandom
,两个有分别,urandom安全性未有random高,但random要求时间距离生成随机数。jdk私下认可调用random。

改完不用重启linux服务器。

securerandom.source=file:/dev/./urandom

securerandom.source=file:/dev/./urandom

再后来,终于在weblogic的法定文书档案中 Monitoring and Troubleshooting 找到了
Avoiding JVM Delays Caused By Random Number Generation
那样壹个标题。摘录如下:

 

查看当地蒙受后,竟然发掘使用的是urandom,原因大约可总结为Linux与Windows情形不均等。

如此那般能够消除别的一个域Weblogic运维慢的标题。

The library used for random number generation in Sun’s JVM relies on
/dev/random by default for UNIX platforms. This can potentially block
the Oracle WebLogic
Communication Services process because on some operating systems
/dev/random waits for a certain amount of “noise” to be generated on the
host machine before returning a result. Although /dev/random is more
secure, Oracle recommends using /dev/urandom if the default JVM
configuration delays Oracle WebLogic Communication Services startup.

 

涨知识。

其它由于Weblogic成立域的时候使用的JDK是自带的jrockit,所以要消除WebLogic在Linux上创建域慢的主题材料,解决办法如下: 
修改Linux上Weblogic使用的jdk
$JROCKIT_HOME/jre/lib/security/java.security 文件

To determine if your operating system exhibits this behavior, try
displaying a portion of the file from a shell prompt:


将securerandom.source=file:/dev/urandom 修改为

head -n 1 /dev/random

运营domain时卡顿的标题也能通过以上办法消除。

securerandom.source=file:/dev/./urandom

Open the $JAVA_HOME/jre/lib/security/java.security file in a text
editor.

<Log Management> <BEA-170019> <The server log file
/home/weblogic/domains/domain/servers/AdminServer/logs/AdminServer.log
is opened. All server side log events will be written to this file.>

出于Windows上对/dev/urandom完毕机制不均等,所以在Windows上不会现出上述为题。

Change the line:

澳门金沙国际 2

securerandom.source=file:/dev/random

to read:

securerandom.source=file:/dev/urandom

Save your change and exit the text editor.

内部聊到:可通过 head -n 1 /devrandom
查看是不是你的种类会油但是生伪随机数提供等待。OK就这一个,试了须臾间,果然,在服务器第三次运营后,这几个能够急迅提供三个值,但当再一次调用时发出等待。

消除办法:

永久:oracle 说修改 $JAVA_HOME/jre/lib/security/java.security
文件,替换securerandom.source=file:/dev/random 为
securerandom.source=file:/dev/urandom。对具备应用JVM的使用生效。(这么些永远的方法,那之中有个难点,正是设置时候实在应该安装为securerandom.source=file:/dev/./urandom,不然不见效)

DOMAIN临时:修改startWeblogic.sh文件,JAVA_OPTIONS=”${SAVE_JAVA_OPTIONS}
-Djava.security.egd=file:/dev/./urandom”

后继的SecureRandom 测量检验学习

编写JAVA类如下,运维测量检验,第二遍平常,第二遍等待,重启服务器后第一次又健康。运转插足参数
-Djava.security.egd=file:/dev/./urandom 寻常

正文恒久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142476.htm

澳门金沙国际 3

相关文章