2010-09-09 28 views
0

我有一个应用程序,每隔一段时间就很难碰到一个ESE数据库,然后停下很长时间。触及数据库后,内存使用量将增加(超过150MB)并保持较高水平。我假设ESE有很多缓存的数据。如何限制可扩展存储引擎(JetBlue)的内存使用量?

有没有办法限制ESE的内存使用量?我很高兴地遭受任何打击PERF

我见过砸内存使用情况的唯一方法就是关闭DB

+1

“喷气机”是不是一个非常有用的标签,因为它是最常用的喷气发动机的红(一个在MS Access使用),也用于非MS和非数据库技术。 – 2010-09-09 22:19:05

回答

2

您可以通过设置数据库缓存大小的系统参数控制数据库缓存大小( JET_paramCacheSize)。这个数字可以在飞行中改变。

虽然您可能不需要设置:默认情况下,ESENT将通过查看可用的系统内存,系统分页和数据库I/O负载自动管理其高速缓存大小。如果您拥有数百MB的可用内存,则ESEN​​T不会看到任何减少缓存大小的理由。另一方面。如果您开始在系统上使用内存,您应该会发现ESENT会自动减少应用程序中数据库缓存的大小。您可以使用JET_paramCacheSizeMin和JET_paramCacheSizeMax参数设置自动调整缓存大小的限制。

文档链接,系统正参数:http://msdn.microsoft.com/en-us/library/ms683044.aspx