程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 細化解析:DB2 universal database進程

細化解析:DB2 universal database進程

編輯:DB2教程

unix和Linux用戶經常檢查運行在服務器上的進程來進行問題分析,並檢查服務器上被消耗的資源。這些信息不僅對解決問題和分析資源的系統管理員有用,而且對於開發高可用性和監視db2進程以判斷什麼時候執行某種行為(例如數據庫重新啟動)或者執行必要的服務器錯誤恢復(failover)的錯誤恢復腳本都很重要。

如果使用aix,必須使用ps -ef命令來檢查進程。在solaris和hp-ux上,ps -ef只為所有的服務器端進程(例如agents、loggers、page cleaners和 prefetchers)顯示db2sysc進程(主要的db2引擎進程)。如果你使用solaris或者hp-ux,能使用/usr/ucb/ps -axw命令看到這些進程。這些版本的ps命令都可以在Linux上工作。

在運行db2 universal database客戶端或服務器軟件的計算機上執行這個命令時,可以看到列出了多個db2進程。本文的目的是說明這些進程並解釋它們是做什麼的以及什麼時候運行。通過閱讀本文你能了解db2的每個進程,當你看到這些進程時能了解db2正在執行什麼操作。

注意:在db2中進程是怎樣執行的對於windows和Linux、unix環境有稍微的不同。在windows中,只有一個進程(db2sysc),在它下面每個引擎可分配單元(edu)作為一個線程執行。盡管本文討論進程,但是在windows環境中應該認為它們是線程。在windows任務管理器中你能夠看到每個實例的db2sysc進程(db2syscs.exe)。其它的Windows服務/進程也可以顯示,本文我們將解釋它們是什麼。

警告:不要在正常的db2環境中直接干涉db2進程。在Linux或unix中使用kill -9命令刪除db2進程可能會引起db2的不正常的行為。如果刪除進程將導致整個db2實例停止。本文中的目的是了解這些進程而不是直接維護它們。

為什麼要查看db2進程

我們的個人經驗已經顯示了這些知識的價值,我們拜訪的客戶也向我們詢問這類信息。看看下面的真實的情況,看看你自己如何檢查系統上運行的db2進程來解決問題的:

1:罕見的緩沖池頁面清除

某個運行電子商務網站並使用db2作為數據庫服務器的客戶報告說,在一天的多個時段數據庫響應應用程序的時間很長。在這些時期數據庫快照沒有顯示發生了什麼不正常的行為。通過檢查其中一個時段進程的cpu使用率,可以發現i/o清除器(db2pclnr)消耗了超過90%的cpu時間。接下來通過查看i/o清除進程觸發器並適當地調整它們,我們消除了這種情況,該電子商務站點的處理能力提高了50%以上。

2:真實的情況

雖然拜訪了某個ibm業務伙伴並執行了一些db2性能調整,但是我們仍然遇到了普通的響應時間延緩。應用程序列表命令沒有顯示任何在這個時候不正常的進程。在取得db2快照前,我們查看了db2服務器上運行的db2進程,發現db2rebal進程正在運行。在給dms表空間添加一個容器的時候,該進程用於執行再次數據均衡。該客戶承認那一天它給一個包含40gb表的表空間添加了一個容器。當重新均衡完成後,查詢的響應速度返回到正常情況。 (:盧兆林)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved