我有一个应用程序,它经常非常严重地访问 ESE 数据库,然后停止很长时间。在达到数据库内存使用率之后(超过 150MB)并保持高位。我假设 ESE 有很多缓存数据。
有没有办法限制 ESE 的内存使用量?我很高兴遭受任何性能打击
我见过的减少内存使用的唯一方法是关闭数据库
我有一个应用程序,它经常非常严重地访问 ESE 数据库,然后停止很长时间。在达到数据库内存使用率之后(超过 150MB)并保持高位。我假设 ESE 有很多缓存数据。
有没有办法限制 ESE 的内存使用量?我很高兴遭受任何性能打击
我见过的减少内存使用的唯一方法是关闭数据库
您可以通过设置数据库缓存大小系统参数 (JET_paramCacheSize) 来控制数据库缓存大小。该数字可以即时更改。
不过您可能不需要设置它:默认情况下,ESENT 将通过查看可用系统内存、系统分页和数据库 I/O 负载来自动管理其缓存大小。如果您有数百 MB 的可用内存,那么 ESENT 将看不到任何减少缓存大小的理由。另一方面。如果您开始使用系统上的内存,您会发现 ESENT 会自动减小应用程序中数据库缓存的大小。您可以使用 JET_paramCacheSizeMin 和 JET_paramCacheSizeMax 参数设置自动缓存大小的限制。
系统参数的文档链接:http: //msdn.microsoft.com/en-us/library/ms683044.aspx