程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> dbcc memusage確定Procedure Cache Size

dbcc memusage確定Procedure Cache Size

編輯:SyBase綜合文章
 討論使用dbcc memusage 確定procedure cache size

1.在Sybase正常運行一段時間後(各procedure&trigger已經運行或大多數已經運行一遍後)使用dbcc traceon(3604)(將信息輸出到前台),dbcc memusage來觀看內存分布。

2.得到輸出信息分三個部分
第一部分描述的是你的配置參數的大小。
第二部分描述的是緩沖最多的幾個和他的庫及對象(Buffer Cache Memory, Top 10: )
重點在第三部分. (Procedure Cache, Top 20: )這裡可以看到server啟動至今最消耗內存的20個procedure的情況。我們需要計算Size of plans:/Number of plans得到最大的那個就是最大的存儲過程。

3.將最大存儲過程消耗的內存*最大並發用戶數*1.25就可得到最大的procedure cache size了。


這裡有幾點要注意,需要庫運行一段時間才有意義,原因上面已經說明。在有需要注意的就是top 20裡面包含的最大的procedure plan size可能是系統存儲過程,計算不要使用系統過程的大小來估算而需要使用用戶過程計算。三是這個計算的值是最大值,如果內存緊張有可能造成浪費.並且可 能更改或增加查詢計劃使該值不適用。所以需要使用sp_sysmon來觀察'Procedure Cache Management'部分的Procedure Reads from Disk ,如果數值比較大的話是太小,如果為零的話就是理想情況。

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