您现在的位置是: IT外包 ->数据存储 ->sybase2 ->
 
本文关键字: 使用dbcc memusage确定procedure cache size大小
Google
 
使用dbcc memusage确定procedure cache size大小
作者: 不详 | 发布时间: 2007-07-31 10:21 | 信息类别: sybase2 | 访问人次:
评论 推荐 打印 编辑 】 【 关闭
  

  
使用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 ,如果数值比较大的话是太小,如果为零的话就是理想情况。

chenfeng825 回复于:2003-08-29 10:57:50 前几天有人要'怎么确定procedure cache size大小?',置顶三天!

dooloob 回复于:2003-09-01 11:22:01 真是好东西。。。。。。我顶

rabbitdan 回复于:2004-09-16 18:25:05 *最大并发用户数是这个吗?
select @@max_connections
若不是,我怎么能确定
最大并发用户数啊?

chenfeng825 回复于:2004-09-17 09:32:56 不能使用max_connections,除非内存太大了没地方使了(玩笑)
select count(1) from sysprocesses where spid >10,大致这样判断就行了,具体看是否有多余或者少于10的系统进程就好

chuxu 回复于:2004-09-17 09:33:09 好像view也会消耗procedure cache
评论 推荐 打印 编辑 】 【 关闭
『相关链接』
序号
标题 发布日期
1
2008-06-11 20:28:53
2
2007-08-02 21:10:14
3
2007-05-15 09:42:33
4
2007-04-09 17:40:49
5
2007-01-16 17:11:37
6
2007-01-16 17:10:29
7
2007-01-11 11:33:07
8
2007-01-10 10:52:07
9
2006-12-13 16:37:30
10
2006-11-16 13:49:24
    查看所有相关的信息...
【郑重声明】【上海IT外包服务网】 刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何投资或其他建议。转载需经作者本人同意并注明出处。本网站有部分文章是由网友自由上传。对于此类文章本站仅提供交流平台,不为其版权负责。如果您发现本网站上有侵犯您的知识产权的文章,请发信至 或直接电话联系: 021-58879030
请您留言
『发表评论』
匿名发表 会员ID: 密码:

上海蝶应信息科技有限公司
上海市商城路341号紫光大厦1305室 +0086-21-58878998 11394019
dieying@541help.com +0086-21-58879030HappyFreeAngel@hotmail.com
Copyright@2007 IT-WAIBAO.COM Inc.沪ICP备05039378号 版权所有2007-2010 管理员登陆