當前位置:首頁 » 編程語言 » 慢sql會消耗虛擬機內存嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

慢sql會消耗虛擬機內存嗎

發布時間: 2022-12-08 09:13:44

❶ 虛擬機安裝sql server佔用伺服器埠么

虛擬機安裝sql server不佔用伺服器埠的埠。

相關知識:
1、埠建立在每一個IP上,每一個IP可以有一套自已的埠。我們可以給一台電腦設定多個IP,在這種情況下,它就可以有對應每一個IP的多套埠。
2、虛擬機是在宿主機(真實機)上安裝一個軟體,讓它模擬出一台獨立的電腦。如果你不設定虛擬機與真實機共享IP的話,可以將虛擬機當成另外存在的一台電腦對待。
3、當前主流的虛擬機軟體主要是 微軟的虛擬機系列 與 VMware公司的虛擬機系列,另外VirtualBox也有一部分人用,其它的就比較小眾了功能也不是很完善。
4、sql server的主要服務埠是1433(服務埠)和1434(監聽埠),安裝過程中如果提示80埠被佔用,那是因為選用了需要WEB服務的相關組件,而伺服器上起動了別的已佔用該埠的組件,常見的是伺服器上的IIS網頁服務已安裝啟動。
5、安裝虛擬機所需的內存視你安裝的虛擬機中的系統正常運行所虛內存而定。
比如在當前來說,在win7的電腦上的虛擬機里要安裝一個XP的系統,要讓它正常運行一般需要1G左右內存,此時,你的電腦上的內存就不應該少於:
2G(win7本身要用)+1G(XP虛擬機要用)=3G
低於這個值,虛擬機起動對系統運行速度就會比較明顯。

❷ SQL佔用伺服器內存太多求助!

1. 60個DB本身不是瓶頸; 如果某些資料庫平時用不上也可以將它們分離出來, 即便不分離, 若長期沒有操作也不會佔用伺服器內存資源和CPU資源
2. 32G內存占滿不是太大的問題. SQL將數據盡可能地載入到內存中可以加快查詢的速度, 若想限制SQL的內存佔用量, 要在SQLServer上進行配置,限定內存使用上限
3. 要改善查詢速度慢可能還得從應用方面入手

❸ 我的電腦不知怎麼了,sql server服務佔用了大量內存,求助處理.

使用兩個伺服器內存選項 min server memory 和 max server memory 重新配置緩沖池中 Microsoft® SQL Server™ 實例所使用的內存量(以 MB 為單位)。

默認情況下,SQL Server 能夠可用系統資源動態改變它的內存需求。min server memory 的默認設置為 0,max server memory 的默認設置為 2147483647。可以為 max server memory 指定的最小內存量為 4 MB。

當 SQL Server 動態使用內存時,它要求系統定期地檢測可用的物理內存數量。SQL Server 根據伺服器活動增大或收縮高速緩沖存儲器,以使可用物理內存保持在 4 MB 到 10 MB 之間。這就避免了 Microsoft Windows NT® 4.0 或 Windows® 2000 換頁。如果有較少可用內存,則 SQL Server 將內存釋放給 Windows NT 或 Windows 2000,後者通常繼續使用可用列表。如果有更多可用內存,則 SQL Server 將內存再提交到高速緩沖存儲器。SQL Server 僅在其工作負荷需要更多的內存時才增加高速緩沖存儲器的內存;處於休眠狀態的伺服器不增大其高速緩沖存儲器。

允許 SQL Server 動態使用內存是推薦使用的配置;然而,可以手工設置內存選項並且可以禁止 SQL Server 動態使用內存的能力。在設置 SQL Server 使用的內存量之前,應確定適當的內存設置,方法是從全部物理內存中減去 Windows NT 4.0 或 Windows 2000 以及 SQL Server 的任何其它實例所需要的內存(以及其它系統使用的內存,如果該計算機不為 SQL Server 專用)。這就是可以分配給 SQL Server 使用的最大內存量。

說明 如果您已經安裝並且運行了全文檢索支持功能(Microsoft 檢索服務,亦即 MSSearch),那麼您必須手工設置 max server memory 選項,為 MSSearch 服務運行預留足夠的內存。max server memory 設置必須與 Windows NT 4.0 虛擬內存大小一起進行調整,以便使得保留給全文檢索的虛擬內存是物理內存的 1.5 倍(不包括計算機中其它服務所需的虛擬內存)。應這樣配置 SQL Server max server memory 選項,使得留有足夠的虛擬內存滿足全文檢索內存需求。全部虛擬內存 -(SQL Server 最大虛擬內存 + 其它服務需要的虛擬內存)>= 1.5 倍物理內存。

手工設置內存選項
手工設置 SQL Server 內存選項有兩種主要方法:

第一種方法,設置 min server memory 和 max server memory 為同一數值。該數值與分配給 SQL Server 的固定內存量相對應。

第二種方法,把 min server memory 和 max server memory 數量設置到一個范圍段內。這種方法在系統或資料庫管理員希望配置 SQL Server 實例,使其適應在同一台計算機上運行的其它應用程序的內存需求時很有用。
min server memory 保證了 SQL Server 實例使用的最小內存量。SQL Server 啟動時不立即分配 min server memory 中所指定的內存量。但是,當內存使用由於客戶端負荷而達到該值後,SQL Server 將無法從已分配的緩沖池中釋放內存,除非減少 min server memory 值。

說明 不保證 SQL Server 分配 min server memory 中所指定的內存量。如果伺服器上的負荷從不需要分配 min server memory 中所指定的內存量,則 SQL Server 將以較少的內存運行。

max server memory 則可防止 SQL Server 使用多於指定數量的內存,這樣剩餘的可用內存可以快速運行其它應用程序。SQL Server 啟動時不立即分配 max server memory 中所指定的內存。內存使用隨 SQL Server 的需要而增長,直到達到 max server memory 中所指定的值。SQL Server 無法超過該內存使用值,除非增加 max server memory 值。

重要 伺服器啟動時,在地址窗口擴展 (AWE) 內存模式下運行的 SQL Server 實例確實分配 max server memory 中所指定的全部內存量。有關 AWE 內存的更多信息,請參見管理 AWE 內存。

在應用程序啟動和 SQL Server 釋放內存之間將有一個較短的時間延遲,使用 max server memory 可以避免該延遲,從而可以提高其它應用程序的性能。僅當與 SQL Server 共享同一台伺服器的新應用程序在啟動時顯示有問題時,才設置 min server memory。最好讓 SQL Server 使用全部可用的內存。

如果手工設置內存選項,應確保適當地設置用於復制的伺服器。如果伺服器是一個遠程分發者或者是一個出版者/分發者的組合,則必須為它分配至少 16 MB 的內存。

理想情況下,在不引起系統交換頁面到磁碟的前提下,應盡可能多地分配內存給 SQL Server。該值因系統不同而有很大差別。例如,在一個 32 MB 系統中,分配 16 MB 給 SQL Server可能是合適的;在一個 64 MB 系統中,則可能適合分配 48 MB。

說明 當增大 SQL Server 內存數量時,應確保有足夠的磁碟空間來容納操作系統虛擬內存的支持文件(Pagefile.sys)。有關虛擬內存支持文件的更多信息,請參見 Windows NT 4.0 和 Windows 2000 文檔。

指定的內存數量必需滿足 SQL Server 的靜態內存(核心開銷、打開的對象、鎖等等)以及數據緩存(亦稱高速緩存)的需要。

如有必要,在系統監視器(在 Windows NT 4.0 中為性能監視器)中使用統計功能幫助調整內存值。應該只有在您添加或減少內存,或者改變系統使用方式時改變這些值。

虛擬內存管理器
Windows NT 4.0 和 Windows 2000 隨時提供一個 4 GB 的虛擬地址空間,其中較低的 2 GB 地址空間對於每個進程是專用的,並可由應用程序使用。較高的 2 GB 地址由系統保留使用。Windows NT Server 企業版為每個 Microsoft Win32® 應用程序提供 4 GB 的虛擬地址空間,其中較低的 3 GB 地址空間是每個進程專用的,並可由應用程序使用。較高的 1 GB 地址由系統保留使用。

4-GB 的地址空間由 Windows NT V虛擬內存管理器(VMM)映射到可用的物理內存空間。取決於硬體平台的支持,可用的物理內存可以高達 4 GB。

Win32 應用程序(如 SQL Server)只能識別虛擬(或稱邏輯)地址,而不是物理地址。在給定的某一時刻一個應用程序使用多少物理內存由可用的物理內存和 VMM所決定。應用程序不能直接控制物理內存。

象 Windows NT 4.0 或 Windows 2000 這樣的虛擬地址系統允許過度提交物理內存,這使虛擬內存和物理內存的比率大於 1:1。因此,較大的程序可以運行在具有不同物理內存配置的計算機上。然而應用比組合平均工作集大得多的虛擬內存可能導致較差的性能。

SQL Server 可以將內存鎖定為工作集。因為內存被鎖定了,當運行其它應用程序時可能出現內存不足的錯誤。如果出現內存不足的錯誤,則可能是分配給 SQL Server 的內存太多。set working set size選項(通過 sp_configure 或 SQL Server 企業管理器設置) 可以使鎖定內存為工作集功能失效。默認情況下,set working set size 選項處於禁用狀態。

手工配置給 SQL Server 多於物理內存數量的虛擬內存會導致性能較低。而且,必須考慮 Windows NT 4.0 或 Windows 2000 操作系統的內存需求(大約 12 MB,因應用程序的開銷而略有不同)。當 SQL Server 的配置參數上調時,系統的開銷可能也會增長,因為 Windows NT 4.0 或 Windows 2000 需要更多的常駐內存來支持附加的線程、頁表等。允許 SQL Server to 動態使用內存可以避免內存相關的性能問題。

min server memory 和 max server memory 是高級選項。如果要使用 sp_configure 系統存儲過程改變該選項,必須把 show advanced options 設置為 1,該選項立即生效(無需停止並重新啟動伺服器)。

❹ SQL Server佔用內存過高,什麼原因導致的,用什麼方法可以解決

經常使用MSSQL的朋友都會發現一個小小的網站在運行若干天後MSSQL就會把伺服器上所有的內存都吃光,此時你不得不重新啟動一下伺服器或mssql來釋放內存,有人認為是 MSSQL有內存泄露問題,其實不然,微軟給我們了明確說明:在您啟動SQL Server 之後,SQL Server內存使用量將會持續穩定上升,即使當伺服器上活動很少時也不會下降。另外,任務管理器和性能監視器將顯示計算機上可用的物理內存穩定下降,直到可用內存降到 4 至 10 MB 為止。

僅僅出現這種狀態不表示內存泄漏。此行為是正常的,並且是 SQL Server 緩沖池的預期行為。
默認情況下,SQL Server 根據操作系統報告的物理內存載入動態增大和收縮其緩沖池(緩存)的大小。只要有足夠的內存可用於防止內存頁面交換(在 4 至 10 MB 之間),SQL Server緩沖池就會繼續增大。像在與SQL Server 分配內存位於相同計算機上的其他進程一樣,SQL Server 緩沖區管理器將在需要的時候釋放內存。SQL Server每秒可以釋放和獲取幾兆位元組的內存,從而使它可以快速適應內存分配變化。
更多信息
您可以通過伺服器內存最小值和伺服器內存最大值配置選項設置 SQL Server資料庫引擎使用的內存(緩沖池)量的上下限。在設置伺服器內存最小值和伺服器內存最大值選項之前,請查閱以下 Microsoft 知識庫文章中標題為'內存'一節中的參考信息:319942 HOW TO:Determine Proper sql server(WINDOWS平台上強大的資料庫平台) Configuration Settings(確定正確的 sql server(WINDOWS平台上強大的資料庫平台) 配置設置)
請注意,伺服器內存最大值選項只限制 SQL Server 緩沖池的大小。伺服器內存最大值選項不限制剩餘的未保留內存區域,sql server(WINDOWS平台上強大的資料庫平台) 准備將該區域分配給其他組件,例如擴展存儲過程、COM 對象、以及非共享 DLL、EXE 和 MAPI 組件。由於前面的分配SQL Server專用位元組超過伺服器內存最大值配置是很正常的。有關此未保留內存區域中分配的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:316749 PRB:在使用大量資料庫時可能沒有足夠的虛擬內存

下面我們就來實戰如何限制MSSQL內存使用:
第一步:打開企業管理器雙擊進入要修改的MSSQL.
第二步:在左側MSSQL上點擊右鍵,選擇屬性,彈出SQL Server屬性(配置)對話框(最好打上SQL SP4補丁)
第三步:點擊內存選項卡. 在這里,你會看到MSSQL默認設置為使用最大內存,也就是你所有的內存,根據你的需要,設置它的最大值(一般為物理內存-128M)和最小值(一般為最大內存的1/4)吧.
第五步:設置完畢,重啟MSSQL服務,配置即可生效!