並行查詢協調程式已經不存在但是子程式沒有釋放,消耗100%CPU

westzq1984發表於2013-01-02
1臺HPUX伺服器,CPU 100%,16CPU
但是ACTIVE的會話只有幾個

作業系統上檢查發現大約有10個並行程式消耗了幾乎全部CPU

而資料庫連檢查這些程式時INACTIVE的。

查詢v$px_session發現,這些並行程式的父協調程式已經不再了
通過v$process minus v$session也未發現異常的程式

檢查TRC,發現該伺服器非同步IO未配置正確。
嘗試oradebug SHORT_STACK 卡死
嘗試gdb無許可權,沒法得到程式堆疊
嘗試tusc,結果未安裝

考慮此刻並行程式應該已經陷入了死迴圈,消耗大量的CPU
貿然殺掉怕造成更嚴重的異常的後果。

由於本資料庫非同步IO本來就有問題,本來系統IO壓力就較大。打算等到計劃內停機時在殺掉,順便配置非同步IO
詢問客戶能否重啟。得到當前出賬已經完成,可以重啟。

嘗試殺掉這些並行程式後,CPU立刻降至3%
順便在重啟了下庫,配置了非同步IO。
繼續觀察

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

相關文章