一、基礎環境檢查
java -version
命令檢查Java版本,若未安裝或版本不符,從Oracle官網下載對應JDK并配置JAVA_HOME
環境變量(指向JDK安裝目錄),將其加入PATH
中。weblogic
)對域目錄(DOMAIN_HOME
)、日志目錄(logs
)、臨時目錄(tmp
)等有讀寫權限。若權限不足,使用chown -R weblogic:weblogic /path/to/domain
修改所有權,chmod -R 775 /path/to/domain
設置合理權限。二、日志分析與關鍵錯誤定位
DOMAIN_HOME/servers/AdminServer/logs/
(AdminServer日志)和DOMAIN_HOME/servers/your_server_name/logs/
(子服務器日志),核心日志文件為server.log
。tail -f /path/to/domain/logs/server.log
實時監控日志輸出,快速捕捉啟動或運行時的錯誤信息(如OutOfMemoryError
、ClassNotFoundException
、PortAlreadyInUse
等)。/etc/hosts
文件確保主機名與IP映射正確。boot.properties
文件中的用戶名/密碼是否正確,若密碼修改后需重新生成加密文件。三、配置文件校驗
DOMAIN_HOME/config/config.xml
(域配置)、DOMAIN_HOME/config/boot.properties
(啟動認證)、DOMAIN_HOME/servers/AdminServer/config/admin.conf
(AdminServer配置)等文件的語法正確性??墒褂?code>xmllint --noout /path/to/config.xml驗證XML格式是否合法。config.xml
中的監聽端口(如7001、7002)未被其他應用占用。使用netstat -tulnp | grep <端口號>
或ss -tulnp | grep <端口號>
檢查端口占用情況,若沖突可修改config.xml
中的端口或終止占用進程。四、系統資源監控
top
、htop
或free -h
命令查看WebLogic進程的內存(RES
列)、CPU(%CPU
列)使用情況。若內存占用過高,需調整JVM堆大?。ㄒ姟癑VM內存配置”);若CPU占用100%,可能因線程死鎖或應用性能問題,需進一步分析線程堆棧(見“線程分析”)。df -h
檢查磁盤剩余空間,確保logs
、tmp
等目錄所在分區有足夠空間(建議保留20%以上),避免因磁盤滿導致WebLogic無法啟動或運行異常。五、端口與網絡連通性
netstat -tulnp | grep <端口號>
或ss -tulnp | grep <端口號>
檢查WebLogic所需端口(如7001、7002)是否被其他進程占用。若沖突,修改config.xml
中的端口或使用kill -9 <PID>
終止占用進程。ping <目標主機>
測試與客戶端的連通性,telnet <主機> <端口>
測試端口是否可達。若無法連通,檢查防火墻設置(iptables -L -n
)或SELinux狀態(getenforce
),確保放行WebLogic端口。六、JVM內存配置
DOMAIN_HOME/bin/startWebLogic.sh
(Linux)或startWebLogic.cmd
(Windows)中的JVM內存參數,根據服務器內存大小合理設置:
-Xms
:初始堆大?。ㄈ?code>-Xms1024m);-Xmx
:最大堆大?。ㄈ?code>-Xmx2048m);-XX:MaxPermSize
(Java 7及之前):永久代大?。ㄈ?code>-XX:MaxPermSize=512m);-XX:+UseG1GC
)提升GC效率。OutOfMemoryError
,使用jmap -histo:live <PID>
查看堆內存中的對象分布,jvisualvm
或MAT
(Memory Analyzer Tool)分析內存泄漏點(如未關閉的數據庫連接、緩存未清理等)。七、線程與死鎖分析
jstack <PID> > thread_dump.log
獲取WebLogic進程的線程堆棧信息,分析線程狀態(如RUNNABLE
、BLOCKED
)。thread_dump.log
中搜索“deadlock”關鍵詞,若存在死鎖,需修改應用代碼(如避免嵌套鎖、使用tryLock
替代synchronized
)或調整線程池大?。?code>config.xml中的<thread-pool>
配置)。八、權限與鎖定文件處理
DOMAIN_HOME
);logs
);tmp
);cache
)。edit.lok
(編輯鎖定文件);config.lok
(配置鎖定文件);AdminServer.lok
(AdminServer鎖定文件);EmbeddedLDAP.ldap.dat
(LDAP數據庫文件)。九、應用程序部署檢查
http://<主機>:7001/console
)進入“部署”頁面,檢查應用程序是否處于“已激活”狀態。若狀態為“失敗”,點擊“查看日志”獲取具體錯誤信息。十、系統資源限制調整
ulimit -n
查看當前限制,若小于10000,修改/etc/security/limits.conf
文件,添加以下內容:* soft nofile 65535
* hard nofile 65535
重新登錄用戶使設置生效。ulimit -u
查看進程數限制,若不足,同樣在limits.conf
中添加:* soft nproc 65535
* hard nproc 65535
十一、其他常見問題解決
setenforce 0
臨時設置為“Permissive”模式,或修改/etc/selinux/config
文件中的SELINUX=permissive
,重啟系統生效。