中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLServer數據庫服務器如何擴大內存

發布時間:2022-01-15 10:02:59 來源:億速云 閱讀:748 作者:小新 欄目:數據庫

這篇文章給大家分享的是有關SQLServer數據庫服務器如何擴大內存的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  一、讓數據庫應用程序支持3GB的內存空間

  雖然操作系統支持4GB內存。可是,這并不會全部給數據庫等應用程序使用。默認情況下,在32位操作系統中,將有2GB的內存空間是為操作系統所保留的。即使沒有用完,其他應用程序也是不能夠染指的。而包含SQLServer數據庫在內的所有應用程序,只能過采用剩余的2GB內存空間。

  但是,在實際應用中,操作系統往往用不著多大2G的內存。根據筆者的經驗,一般只要為操作系統保留1G的內存已經足夠其使用。只要沒有病毒等不良因素作怪,這個內存不會被完全適用。如此的話,應用程序可以采用的內存空間就會多達3G,比原先整整多出一個G來。

  要實現這個轉變,其實很簡單。在Windows操作系統中,有一個BOOT啟動配置文件。為了讓數據庫服務器支持3GB的用戶模式進程空間,必須在這個配置文件中,加入一個/3gb的參數,然后重新啟動操作系統即可。這么設置之后,應用程序就可以尋址3GB的進程地址空間,而為操作系統保留1GB的內存空間。

  有時候,這個小小的配置可以在很大程度上提高數據庫的性能。記得有一次,筆者為一家企業優化數據庫性能。筆者查看了用戶的數據庫環境之后,就建議用戶增大數據庫服務器的內存,從2G增加到4G。可是,效果并沒有很大的改善。正當筆者束手無措的時候,就想到了改變操作系統與應用程序的內存分配方式。為此,筆者就更改了BOOT啟動配置文件,只給操作系統保留1G的內存空間。重新啟動后,數據庫性能得到了很大的改善。

  二、為SQLServer啟用更高的內存支持

  假如數據庫應用程序內存尋址空間達到3GB后,數據庫管理員還不滿足的話,則就需要通過增加物理內存的方式,來提高應用程序的性能。若需要服務器操作系統突破其默認4GB內存空間的限制,支持4GB以上的內存空間,也不是不可能的。只是需要進行額外的配置,并且,其維護的工作量也比較大。

  若想要SQLServer數據庫支持4GB以上的內存尋址空間,則往往需要進行如下配置。

  第一步:鎖定內存頁。

  默認情況下,內存大小與操作系統的虛擬內存之間有一個正比例關系。在這里,數據庫管理員只想增大服務器的物理內存,而不想對虛擬內存有什么影響。故需要鎖定內存頁。鎖定內存頁的主要作用就是確定哪些帳戶可以使用進程將數據保留在物理內存中,從而阻止系統將數據分頁到磁盤的虛擬內存中。默認情況下,這個選項的只為OFF。也就是說,在必要的時候,系統會將數據分頁到硬盤的虛擬空間中。為了最大程度發揮內存的效用,就需要把這個選項開啟。不過這數據庫管理員往往需要尋求系統管理員的幫助,因為只有具有系統管理員權限的用戶,才能夠給更改這個選項。

  第二步:啟用AweEnable選項。

  默認情況下,即使服務器操作系統支持4GB以上的內存空間,可是數據庫應用程序并不一定支持。為了讓SQLServer應用程序也支持這個,就必須更改數據庫的配置參數。也就是說,需要將這個選項的值設置為1,然后重新啟動數據庫系統。這個配置比較簡單,只需要利用命令sp_configure'aweenabled',1即可。不過在進行這個配置之前,需要注意兩個細節方面的內容。一是數據庫用戶需要這個操作的權限。二是這里有一個BUG,即在SQLServer數據庫中會有一個錯誤信息。數據庫管理員可以忽略這個信息。

  第三步:限制文件系統緩存。

  若增加的內存給操作系統或者其他應用程序用了,那么數據庫管理員不是白忙一場嗎為此,數據庫管理員還需要優化數據庫系統內存的使用情況。如需要限制系統用于文件緩存的內存量。如要這么處理的話,只需要簡單的三個步驟即可。

  首先,數據庫管理員在操作系統中,找到控制面板,并雙擊網絡連接,然后選中本地連接。其次,雙擊本地連接,在彈出的對話框中,找到常規選項卡,單擊屬性。選中網絡文件與打印機共享,并單擊屬性。最后,在彈出的對話框中,去掉“最大化網絡應用程序數據吞吐量”復選框。一路按確認即可。這個簡單的步驟,就可以優化數據庫內存的使用率。

  三、大內存維護管理幾個關鍵點

  在通常情況下,往往不需要啟用4GB以上的內存。但是,若在服務器上,同時啟用了其他的應用程序服務。如在一臺服務器上同時有數據庫應用程序、郵件應用程序、文件服務器等多個應用服務的話,則可能原有的4GB內存無法滿足。系統管理員不得不對內存進行升級。但是,對內存升級之后,數據庫管理員需要手工對內存的分配進行干預,以免SQLServer應用程序占用比較多的內存空間,而影響其他應用程序的性能。

  1、配置maxservermemory選項。雖然說這個選項并不是必須要修改的,但是筆者仍強烈建議數據庫管理員要修改這個選項。特別是數據庫應用程序與其他應用程序共享同一臺服務器時。因為啟動SQLServer對大內存的支持后(將AweEnabled設置為1),而且可用物理內存大于用戶模式進程空間。則當啟動數據庫服務器時,運行的SQLServer實例將會占用幾乎所有的可用內存(不管需不需要使用,數據庫服務器程序會先鎖定這些內存。這就叫占著茅坑不拉屎)。而這個maxservermemory選項就是用來配置其最大可以占用的內存數量。數據庫管理員需要預先估算出一個合理的數值,然后進行配置。讓數據庫應用程序與其他應用服務能夠共同改善,至少不能夠對其他應用程序的性呢產生不良影響。在比較極端的情況下,可以在升級內存之前,先關閉數據庫應用程序;然后啟用其他應用程序服務。觀測一段時間,看看他們所需要用到多少的內存。然后升級內存,并為其他應用程序至少保留以前所需要的內存空間。否則的話,就會對其他應用程序產生不良影響。犧牲其他應用程序的性能來提高數據庫的性能,這是拆西墻補東墻的做法,不值得取。

  2、多個SQLServer實例內存如何分配。往往在一個SQLServer數據庫中,會配置多個數據庫實例。一個數據庫實例用來負責ERP系統的運行,另外一個則是給CRM系統使用。在同一個數據庫系統中,有多個數據庫實例,此時該如何在各個實例之間分配可用的內存呢這基于操作系統的不同,又有所不同。假如數據庫操作系統采用的是2000系列的,則需要為每個數據庫實例配置maxservermemory選項。否則的話,其中某一個數據庫實例就有可能鎖定全部的可用內存。這主要是因為2000系列的服務器系統并不支持動態分配大內存。所以需要為每個數據庫實例配置這個選項。但是,若數據庫服務器采用的是2003系列的服務器操作系統,則不需要進行手工的配置這些參數。因為操作系統會動態地分配內存。也就是說,操作系統會按照總體系統要求平衡SQLServer各個實例之間內存的使用。不過為了提高數據庫整體性能,最好還是為各個實例配置maxservermemory;而不讓操作系統來搞平衡。

感謝各位的閱讀!關于“SQLServer數據庫服務器如何擴大內存”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东丰县| 阳信县| 化隆| 军事| 大荔县| 深泽县| 册亨县| 宁化县| 吴堡县| 大方县| 杭州市| 龙川县| 万荣县| 谷城县| 台南市| 绥滨县| 沂南县| 德阳市| 日喀则市| 故城县| 黄山市| 马山县| 民乐县| 民勤县| 五峰| 肇庆市| 肥城市| 芜湖县| 兴隆县| 博客| 平塘县| 永康市| 临夏县| 天等县| 长岭县| 宁波市| 台江县| 高淳县| 揭阳市| 安泽县| 平陆县|