2010-09-09 27 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