WELCOME

2009年5月7日 星期四

如何手動重建效能計數器程式庫的值

http://support.microsoft.com/?scid=kb%3Bzh-tw%3B300956&x=10&y=14

重建基底的效能計數器

可延伸計數器的資訊儲存在兩個下列位置中:
  • 下列的登錄機碼:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
  • %systemroot%\System32\Perfc009.dat 檔案,%systemroot%\System32\Perfh009.dat 檔案。
如果要手動重建基底的效能計數器程式庫,請執行這些步驟:
  1. 展開 [ Perfc009.dat 檔案及 Perfh009 檔案。 這些檔案位於 Windows 安裝光碟中。 找不到在 DriveLetter,壓縮的檔案: \i386\perfc009.da_ 和 DriveLetter: \i386\perfh009.da_。 取代 %systemroot %\ System32 資料夾中的檔案。
  2. 啟動 [登錄編輯程式,],並在登錄中找出下列機碼:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
  3. 在登錄、 1846 (十進位) 的 LastCounter 值的變更以及變更的 LastHelp 1847 (十進位)。
  4. 找出下列登錄機碼搜尋服務已在 Performance 子機碼:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  5. (如果它們存在),請從 Performance 子機碼移除下列值:
    • FirstCounter
    • FirstHelp
    • LastCounter
    • LastHelp
    您可以也使用 Exctrlst.exe 工具找出效能計數器動態連結程式庫檔案 (DLL) 所安裝的並存取登錄,以移除 [DWORD 值。 現在,您有可行的效能登錄,包含只有系統基底計數器。

    請注意 移除登錄中的 Performance 子機碼的值可能會造成任何已安裝.NET Framework 應用程式不使用它們啟動下一次。 如果發生這種情況使用 Lodctr / R "Re-add 可延伸計數器 」 區段中要重建效能計數器的命令。 如果繼續遇到問題,當您啟動.NET Framework 應用程式則請參閱本文中的 [重新安裝任何自訂的.NET Framework 組件的效能計數器] 一節。

重新新增可延伸計數器

您必須重新加入可延伸計數器從服務的清單。 開始您自訂之前,您必須識別.ini 檔案,用於載入計數器:
  1. 開啟命令提示字元視窗。
  2. 在命令提示字元,輸入 cd %Systemroot %\ System32 ,並按下 ENTER。
  3. 在命令提示字元,輸入 findstr drivername *.ini ,並按下 ENTER。
  4. 請注意在清單中每個 drivername.ini 檔案的名稱。
  5. 在命令提示字元中,請輸入下列行,並按下 ENTER]:
    Lodctr inifile
    其中 inifile 會是您要重新載入驅動程式.ini 檔案的名稱。

    例如,如果要重新載入 ASP 驅動程式您在步驟 4 中所記下的清單顯示 Axperf.ini 是 ASP 驅動程式 (axperf.ini:drivername=ASP).ini 檔。 因此,重新載入 ASP 驅動程式,在命令提示字元中, 輸入 lodctr axperf.ini 並按下 ENTER。
  6. 對清單中的每一個.ini 檔案重複步驟 5。
  7. 重新啟動您的電腦。
若要重建在 Windows Server 2003 中包含可延伸 」 和 「 協力廠商的計數器的所有效能計數器,請在命令提示字元中輸入下列命令。 每一個命令後按 ENTER 鍵。
cd\windows\system32
Lodctr / R
請注意 / R 是大寫。 您必須在成功執行這個命令的電腦上系統管理權限。

Windows Server 2003 會重建所有計數器,因為它讀取所有.ini 檔案在 C:\Windows\inf\009 資料夾中,英文的作業系統。

注意事項
  • 如果您執行一個叢集] 或 [Datacenter 產品,您必須將其失敗節點,以重新整理計數器清單上。 您在執行步驟,在 「 重新可延伸計數器 「 基底計數器] 和 [可延伸計數器之後,您必須執行這。
  • 執 行新增自己的效能計數器,例如 Microsoft Exchange] 或 [SQL Server 中,應用程式的系統上,.ini 檔案用來載入效能計數器可能不是位於 %Systemroot%\System32。 應用程式的資料夾結構下,通常可以找到這些.ini 檔案。
  • 如 果當您使用先前的步驟時,您就會收到錯誤訊息有關的效能程式庫,您可能必須卸載和重新載入 IIS 效能的動態連結程式庫 (DLL)。 如何執行這項操作的相關資訊,請按一下 [下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件]:
    267831 (http://support.microsoft.com/kb/267831/ ) 當載入效能計數器時,記錄的事件識別碼 2003 警告訊息
  • 如果您仍然遇到問題,當您啟動.NET Framework 應用程式時,請參閱 [重新安裝任何自訂的.NET Framework 組件的效能計數器] 一節。

重新安裝任何自訂的.NET Framework 組件的效能計數器

如果繼續執行,此處所列的程序後,您會啟動.NET Framework 應用程式時有問題,必須重新建立自訂的.NET Framework 應用程式的效能計數器。 如果要執行這項操作,使用,「 / i".NET Framework 安裝程式工具 (Installutil.exe) 中的選項。 您必須知道檔案名稱,建立效能計數器 DLL 檔案。

範例

如果您遵循這些程序從登錄移除 計數器,所有的 Microsoft System Center Operations Manager 2007 安裝在系統上安裝的服務,您可能有一個中斷的管理伺服器。 這是因為計數器組態服務、 SDK 服務,和資料庫寫入 INI 檔案中有 「 可延伸的計數器的形式,未提供模組。 而,它們會在安裝時登錄。 因此,當您嘗試啟動 System Center Operations Manager 2007,時,您可能會收到因為效能計數器遺失了類似下列的錯誤訊息:
事件類型: 錯誤
事件來源: OpsMgr SDK 服務
事件類別: 無
事件識別碼: 26380
Date: date
Time: time
User: N/A
電腦: MOM
描述: 「 System Center Operations Manager SDK 服務失敗,因為未處理的例外狀況。
如 果要解決這個問題 System Center Operations Manager 2007,您必須請重新安裝.NET Framework 組件,建立效能計數器。 要執行這項操作,請在.NET Framework 安裝程式工具 (Installutil.exe) 中使用 / i 選項,以重新安裝下列組件:
  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll
舉例來說,在命令提示字元中,輸入 [在下列的命令並在每個命令之後按下 ENTER:
InstallUtil / i Microsoft.Mom.ConfigService.dll

InstallUtil / i Microsoft.Mom.Sdk.ServiceDataLayer.dll

InstallUtil / i Microsoft.Mom.DatabaseWriteModules.dll

InstallUtil / i Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

沒有留言:

張貼留言