点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我们正在使用SQL Anywhere 12.0.1,需要有人解释缓存设置-c和-ch的区别。
我已经尝试了所有正式文档并进行了在线搜索,但是其中包含的只是官方说明。
-c设置初始最大缓存,如果不包含-cl,则设置最小缓存。
-ch设置最大缓存,就像-c一样,但不影响最小缓存。
如果我们要对高速缓存设置不同的上限和下限,例如30GB和40GB,最好设置-cl 30G -ch 40G或-cl 30G -c 40G?
谢谢
以下内容取自" dbsrv12/?":
-c指出"使初始缓存最大为
-ch指出"将最大缓存大小设置为
以下内容摘自" http ://dcx.sybase.com/1201/zh-CN/dbusage/limiting-using-perform.html ":
-c您可以使用-c数据库服务器选项来指定数据库服务器的初始高速缓存大小。 如果未指定-c选项,则数据库服务器将计算初始高速缓存分配。
-ch您可以通过指定数据库服务器-ch选项来控制最大高速缓存大小。 默认设置是基于启发式的,该启发式的取决于计算机中的物理内存。 在其他非Unix计算机上,这大约是最大非AWE缓存大小和计算机物理内存的90%中的较小者。 [已删除与非Windows x64操作系统有关的文本] 。
-c设置"初始高速缓存大小",而不是"初始最大高速缓存大小"。 (这里的文档是正确的,dbsrv12-?似乎有点令人讨厌……),因此数据库服务器将在启动时尝试保留那么多缓存。
-cl和-ch定义服务器运行时可能使用的缓存大小的上限和下限。如果未指定-cl,则-c的值将用作下限。
如果要指定最大大小,则需要指定-ch(除非值恰好满足问题中所引用的默认最大cach值)。
如果您要使用30G到40G之间的缓存并希望以30G开始,则可以使用:-c 30G -ch 40G
如果您要使用30G到40G之间的缓存并想以35G开始,我会使用:" -c 35G -cl 30G -ch 40G"
如果您要使用30G到40G之间的缓存并以40G开头,则可以使用:-c 40G -cl 30G -ch 40G
:我把评论变成了答案,只是因为我有一种印象,否则大卫可能不会注意到它。
感谢沃尔克。 DBSRV12/? -c"初始最大值"的描述确实使我感到困惑。
您还可以定义"初始"吗? 换句话说,何时停止强制执行初始高速缓存大小(-c)?
例如,如果我们将-c 35G -cl 30G -ch 40G设置为何时高速缓存将从35G降为30G?
谢谢
好吧,当数据库引擎认为应该这样做时-请查看该文档主题:动态缓存大小调整。 据此,通常每分钟至少检查一次,是否合理。 注意,您还可以使用选项" -ca 0"来禁用动态高速缓存大小调整。
数据库控制台日志(dbsrv12 -o ...)将显示何时以及如何调整缓存大小的条目。
我猜在dbsrv的描述中-? 对于-c选项("使初始缓存最大为个字节"),单词" maximum"与以下事实有关:您可以指定一个更大的值,该值可用作缓存, 因此,如果引擎能够获得尽可能多的缓存,则引擎会尝试将该值保留为初始缓存,这可能与OS和其他应用程序/进程已经使用了多少RAM有关。
一周热门 更多>