国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server中的動態和靜態內存分配

2024-08-31 00:43:35
字體:
來源:轉載
供稿:網友

本文介紹了SQL服務器的內存管理方式:動態內存分配和靜態內存分配。

我們知道,SQL服務器有兩種管理方法,分別是動態分配和靜態分配,用以控制程序可使用的內存數量。動態分配允許管理員聲明一塊內存的大小;考慮到它的實際使用,SQL服務器可以分配給其需要占用的內存的最大值,并且(理論上)在沒有使用內存的情況下將其釋放。靜態分配則是創建一塊固定的內存空間,提供給SQL Server使用——不再進行分配。

在默認情況下,SQL Server被設置成動態分配,分配給其正在運行的計算機內所有可用的物理內存。許多管理員注意到SQL Server內存隨時間的流逝被逐漸消耗殆盡時,其原因很可能是故障或是內存漏洞,但這個程序正是被設計成這樣的。SQL Server就是要在任何可能的情況下在電腦中運行,并因此為達到其最佳性能而使用所有可用的內存。如果SQL Server在獨立的機器中運行,那么就讓它分配和釋放其需要的內存吧。

在一個小型商業服務器機器中,SQL可能與其他程序,如IIS,同時運行,管理員或許嘗試著進行設置,使SQL Server運行在一塊固定大小的內存,目的是控制其不會占用用于共享的內存。但這并不一定能如愿以償。一方面,將內存的最高限度設置得太低,并且沒有分配給SQL服務器足夠的可用內存來用作類似事務日志或查詢執行的緩存,所有這些都很難辦到。使SQL服務器得到執行操作所需內存的惟一方法就是換出其他的頁面,這是個緩慢的過程。

有許多方法可以計算出最好的內存分配。如果你有可預知的用戶負載,依照用戶所需的最大數目分配給他們。微軟推薦至少用4 MB用作動態的最大空間,這已經成為一個可能的規則。如果你的用戶負載變化范圍很大——如以下情況,當你通過IIS 的前端連接到公共的因特網來支持你的數據庫服務的時候——實時的統計數據將會比僅憑猜測所作的工作幫助更大。在高峰期,把SQL Server的高速緩存命中率和每秒缺頁率等性能數字搜集起來。如果這些數據表明SQL Server正在做大量的交換,那么增加最大內存空間直到交換逐漸減少。每秒一次或更多次的交換是有壞處的。

另一種選擇是使“為SQL Server預留物理內存”的選項可用,這可以防止SQL Server把已經分配給它的內存換出,即使當其他應用程序能夠使用它時。這可以叫做是一把雙刃劍:它既可以相當大程度的提高性能,也可能帶來更大的性能損害。在有許多RAM 可以共享的(1 GB 或更多)的系統中,這是值得一試的,但是當有其他關鍵的進程可能突然需要大量的內存時,這種辦法是不應該使用的。(并且如果需要的話,SQL Server可能會被迫放棄一些它自己的內存)。假如SQL Server是在獨立的機器上運行,用這種辦法最佳化性能是比較值得的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特前旗| 景德镇市| 武功县| 东兴市| 福建省| 罗定市| 奉新县| 塔河县| 万安县| 新余市| 玉树县| 张家界市| 子洲县| 蓬溪县| 新闻| 福建省| 临邑县| 惠东县| 琼海市| 南平市| 新余市| 乌拉特中旗| 白河县| 那曲县| 北碚区| 二连浩特市| 彩票| 从化市| 任丘市| 石屏县| 四平市| 独山县| 阿巴嘎旗| 北碚区| 武宣县| 东乡| 志丹县| 营山县| 本溪市| 葵青区| 昌都县|