在CentOS上优化WebLogic的启动速度可以通过以下几种方法进行:
修改JVM参数:
setDomainEnv.sh 中添加或修改以下JVM参数:JAVA_OPTIONS="$JAVA_OPTIONS -Djava.security.egd=file:/dev/./urandom"
这可以解决由于JVM从 /dev/random 读取随机数导致的启动缓慢问题。检查和优化配置文件:
config.xml、domain.xml 等)没有错误,并且配置的参数和资源适合当前的环境。可以尝试使用更适合的配置参数。检查端口冲突:
netstat 命令来检查端口使用情况。确保Java已正确安装:
java -version 来检查Java是否已安装。检查操作系统资源限制:
ulimit 命令来查看和修改操作系统资源限制。优化内核参数:
/etc/sysctl.conf 文件,根据需要进行内核参数优化,例如:net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = "94500000 915000000 927000000"
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
使用以下命令应用更改:sudo sysctl -p
关闭SELinux和DNS反向解析:
/etc/ssh/sshd_config 文件:sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
重启SSH服务:sudo systemctl restart sshd
禁用SELinux:sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/selinux/config
禁用DNS反向解析:echo "options ipv6 off" >> /etc/modprobe.d/ipv6.conf
echo "net.ipv4.conf.all.disable_ipv6 1" >> /etc/sysctl.conf
sudo sysctl -p
内存设置:
-Xms)和最大值(-Xmx)设置为相同的值,例如都设为1024M,以确保内存分配的一致性和减少垃圾回收的频率。监控和调优:
jstat、jconsole、VisualVM 等监控服务器性能,并根据监控结果进行调优。升级WebLogic版本:
在进行上述优化之前,建议先在测试环境中进行验证,以确保优化措施不会对现有环境造成负面影响。