今天在客户那有台was无法启动,在启动dmgr的时候,was就hang住了。SystemOut.log没有任何输出。ps -ef|grep java能看到java的进程。

topas看java的进程完全不占CPU,显然是死锁、或者等待资源的问题。等待了10多分钟都没有响应。

kill -3 生产的Javacore分析,看到java的main thread是:


at java/net/Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java/net/InetAddress$2.lookupAllHostAddr(InetAddress.java:927)
at java/net/InetAddress.getAddressFromNameService(InetAddress.java:1295)
at java/net/InetAddress.getAllByName0(InetAddress.java:1245)
at java/net/InetAddress.getAllByName0(InetAddress.java:1219)
at java/net/InetAddress.getHostFromNameService(InetAddress.java:587)
at java/net/InetAddress.getHostName(InetAddress.java:513)
at java/net/InetAddress.getHostName(InetAddress.java:485)

因为websphere的配置文件全部都是以主机名配置的,因此DNS对websphere至关重要。

除了配置/etc/hosts文件来指定主机名之外,还有DNS的方法。在配置DNS服务器的时候除了在/etc/resolve.conf里面指定nameserver之外,在有长短名区别的环境(如有LDAP),还有需要增加search test.com.cn test.net.cn

“search”這個選項為非必要選項,而功能在於若使用者指定主機名稱查詢時,所需要搜尋的網域名稱。例如,當我們設 “search test.com.cn”時,當DNS伺服器在做名稱解析過程中,無法對輸入的名稱,例如pc1,找出相對應的IP時,則DNS會利用search的設定值加上需查詢的名稱,即pc1.test.com.cn來進行解析,解析失敗時則會嘗試pc1.test.net.cn。

在AIX里面是在/etc/netsvc.conf来配置hosts、DNS、NIS的解析优先顺序。