hp 64位jdk問題

531968912發表於2020-12-24

1 HP JDK支援雙位模式

java -version 時,顯示IA64N就是32位程式,顯示IA64W就是64位模式執行的程式 。這兩種位模式可以切換,

切換方式為:假如目前你的為32位JDK,有兩種方式可以轉換成立64位,一種是修改setDomainEnv.sh,在

MEM_ARGS="-Xms市場3072m -Xmx3072m"中加入-d64,即MEM_ARGS="-d64 -Xms3072m -Xmx3072m";另一種是在

啟動時新增-d64,如/opt/weblogic/user_projects/domains/base_domain/bin/startManagedWebLogic.sh server1 -d64,

這種啟動方式只限於本次啟動,節點重新啟動後,又以預設的32位啟動,所以,建議以第一種方式啟動。

從64位切回32位可以依據上面的方法加-d32來實現,但需要注意JVM引數的設定;


2 啟用Native IO

完成第一步切換操作後,JVM啟動時,仍然會按原來32位JDK的路徑去尋找Native .so包,這些32位的包是不能用作用於64位的,這樣就會導致啟動Native IO失敗,

日誌中表現為:####<Sep 23, 2014 9:02:41 AM GMT+08:00> <Error> <Socket> <host2> <Server7> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1411434161638> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that a native performance library is in: '/opt/java1.5/jre/lib/IA64W:/opt/java1.5/jre/lib/IA64W/server:/opt/java1.5/jre/../lib/IA64W:/weblogic/bea/patch_weblogic923/profiles/default/native:/weblogic/bea/weblogic92/server/native/hpux11/IPF32:/weblogic/bea/weblogic92/server/native/hpux11/IPF32/oci920_8:/usr/lib' 

####<Sep 23, 2014 9:02:41 AM GMT+08:00> <Info> <Socket> <host2> <Server7> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1411434161640> <BEA-000447> <Native IO Disabled. Using Java IO.> 

此時只需要在提示的任何一個路徑中放入64位Native .so包即可。在河南我們選擇的是/bea/weblogic92/server/native/hpux11/IPF32這個路徑,先備份這個目錄下的所有檔案,然後刪除,再將

/bea/weblogic92/server/native/hpux11/IPF64裡面的.so檔案全部複製到/bea/weblogic92/server/native/hpux11/IPF32/,重啟節點,注意觀察日誌中是否出現Native IO Enable,如果出現,表示

Native IO 啟動成功。

另一方面,我們也可以避免JVM去尋找32位JDK依賴的Native .so包,即對bea/weblogic92/common/commEnv.sh的SHLIB_PATH修改或者加上含有關64位JDK依賴的Native .so包的路徑(這個是

河南這邊以第一種方式操作完之後,觀察時發現的,未經測試,如果你檢修時間多,可以測試一下)


注意:從WEBLOGIC控制檯上看Native IO 是不準確的,一定要從後臺啟動日誌中檢視是否出現Native IO  Enable


3 Too many open files

升級後,後臺日誌可能會出現Too many open files的報錯,此報錯出現後,節點仍是RUNNING,但是已不能提供服務,這時需要修改HP核心心引數,方法有兩種,可供參考:

uname -sN 4096 soft


或者


kctune -h nfile="(15*nproc+2048)"  這種需要重啟作業系統才能生效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2745147/,如需轉載,請註明出處,否則將追究法律責任。

相關文章