熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

MSSQL數據庫占用內存過大造成服務器死機問題的解決方法

2013-11-23 21:04:23  來源: MySQL 

  使用MSSQL的站長朋友都會被MSSQL數據庫吃內存的能力佩服得五體投地一個小小的網站運行若干天之後MSSQL就會把服務器上所有的內存都吃光此時你不得不重新啟動一下服務器或MSSQL來釋放內存有人認為是MSSQL有內存洩露問題其實不然微軟給我們了明確說明:

  在您啟動 SQL Server 之後SQL Server 內存使用量將會持續穩定上升即使當服務器上活動很少時也不會下降另外任務管理器和性能監視器將顯示計算機上可用的物理內存穩定下降直到可用內存降到 MB 為止

  僅僅出現這種狀態不表示內存洩漏此行為是正常的並且是 SQL Server 緩沖池的預期行為

  默認情況下SQL Server 根據操作系統報告的物理內存加載動態增大和收縮其緩沖池(緩存)的大小只要有足夠的內存可用於防止內存頁面交換(在 MB 之間)SQL Server 緩沖池就會繼續增大像在與 SQL Server 分配內存位於相同計算機上的其他進程一樣SQL Server 緩沖區管理器將在需要的時候釋放內存SQL Server 每秒可以釋放和獲取幾兆字節的內存從而使它可以快速適應內存分配變化

  更多信息

  您可以通過服務器內存最小值和服務器內存最大值配置選項設置 SQL Server 數據庫引擎使用的內存(緩沖池)量的上下限在設置服務器內存最小值和服務器內存最大值選項之前請查閱以下 Microsoft 知識庫文章中標題為"內存"一節中的參考信息

   HOW TODetermine Proper SQL Server Configuration Settings(確定正確的 SQL Server 配置設置)

  請注意服務器內存最大值選項只限制 SQL Server 緩沖池的大小服務器內存最大值選項不限制剩余的未保留內存區域SQL Server 准備將該區域分配給其他組件例如擴展存儲過程COM 對象以及非共享 DLLEXE 和 MAPI 組件由於前面的分配SQL Server 專用字節超過服務器內存最大值配置是很正常的有關此未保留內存區域中分配的其他信息請單擊下面的文章編號以查看 Microsoft 知識庫中相應的文章

   PRB在使用大量數據庫時可能沒有足夠的虛擬內存

  參考

  SQL Server 聯機圖書;主題"服務器內存最小值和最大值的影響";"內存體系結構";"服務器內存選項";"SQL Server 內存池"

  下面我們就來實戰如何限制MSSQL內存使用:

  第一步:打開企業管理雙擊進入要修改的MSSQL

  第二步:在左側MSSQL上點擊右鍵選擇屬性彈出SQL Server屬性(配置)對話框

  第三步:點擊內存選項卡

  在這裡你會看到MSSQL默認設置為使用最大內存也就是你所有的內存根據你的需要設置它的最大值吧

  第五步:設置完畢關閉MSSQL服務再重啟配置即可生效!


From:http://tw.wingwit.com/Article/program/MySQL/201311/29533.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.