導航:首頁 > IDC知識 > 資料庫伺服器內存

資料庫伺服器內存

發布時間:2020-11-15 20:47:31

1、sql資料庫伺服器,內存佔用過大怎麼辦

Sql Server系統內存管理在沒有配置內存最大值,很多時候我們會發現運行Sql Server的系統內存往往居高不下。這是由於他對於內存使用的策略是有多少閑置的內存就佔用多少,直到內存使用慮達到系統峰值時(預留內存根據系統默認預留使用為准,至少4M),才會清除一些緩存釋放少量的內存為新的緩存騰出空間。

這些內存一般都是Sql Server運行時候用作緩存的,例如你運行一個select語句, 執行個存儲過程,調用函數;

1. 數據緩存:執行個查詢語句,Sql Server會將相關的數據頁(Sql Server操作的數據都是以頁為單位的)載入到內存中來, 下一次如果再次請求此頁的數據的時候,就無需讀取磁碟了,大大提高了速度。

2.執行命令緩存:在執行存儲過程,自定函數時,Sql Server需要先二進制編譯再運行,編譯後的結果也會緩存起來, 再次調用時就無需再次編譯。

在我們執行完相應的查詢語句,或存儲過程,如果我們不在需要這些緩存,我可以將它清除,DBCC管理命令緩存清除如下:

--清除存儲過程緩存   
DBCC FREEPROCCACHE   
--註:方便記住關鍵字FREEPROCCACHE 可以拆解成FREE(割捨,清除) PROC(存儲過程關鍵字簡寫),CACHE(緩存)
--清除會話緩存
DBCC FREESESSIONCACHE    
--註:FREE(割捨,清除) SESSION(會話)CACHE(緩存) 
--清除系統緩存  
DBCC FREESYSTEMCACHE('All')  
--註:FREE  SYSTE MCACHE 
--清除所有緩存  
DBCC DROPCLEANBUFFERS   
--註:DROP CLEAN BUFFERS

2、如何設置SQLServer資料庫內存

1、打開SQL Sever 2008 R2資料庫

2、在打開的連接到伺服器對話框中,輸入相關連接信息後,點擊「連接」

3、右鍵資料庫根節點,選擇「屬性」

4、彈出伺服器屬性頁,選擇頁中包含常規、內存、處理器等選項

5、在選擇頁中我們點擊「內存」,我們可以修改每次查詢佔用的最小內存值

6、在選擇頁中切換到「安全性」,我們可以重新設置伺服器身份驗證的模式

3、伺服器的內存主要起什麼作用?

伺服器內存也是內存,它與普通PC機內存在外觀和結構上沒有什麼明顯實質性的區別,主要是在內存上引入了一些新的特有的技術,如ECC、ChipKill、熱插拔技術等,具有極高的穩定性和糾錯性能。

伺服器內存和PC機內存一樣,內存的頻率可以用工作頻率和等效頻率兩種方式表示,工作頻率是內存顆粒實際的工作頻率,但是由於DDR內存可以在脈沖的上升和下降沿都傳輸數據,因此傳輸數據的等效頻率是工作頻率的兩倍。

而DDR2內存每個時鍾能夠以四倍於工作頻率的速度讀/寫數據,因此傳輸數據的等效頻率是工作頻率的四倍。


(3)資料庫伺服器內存擴展資料:

伺服器常用的內存主要有三種

1、ECC 內存,「Error Checking and Correcting」的簡寫,中文名稱是「錯誤檢查和糾正」。

2、Reg-DIMM 帶寄存器Register晶元和unbuffered ECC不帶緩存。

帶有Register的內存一定帶Buffer(緩沖),並且能見到的Register內存也都具有ECC功能,其主要應用在中高端伺服器及圖形工作站上。

3、FB-DIMM(Fully Buffered DIMM),全緩沖內存模組內存。

FB-DIMM另一特點是增加了一塊稱為「Advanced Memory Buffer,簡稱AMB」的緩沖晶元。這款AMB晶元是集數據傳輸控制、並—串數據互換和晶元而FB-DIMM實行串列通訊呈多路並行主要靠AMB晶元來實現。

4、mysql資料庫伺服器一般多少內存

命令: show processlist;
如果是root帳號,你能看到所有用戶的當前連接。如果是其它普通帳號,只能看到自己佔用的連接。

show processlist;只列出前100條,如果想全列出請使用show full processlist;
mysql> show
processlist;
命令: show status;
命令:show status like '%下面變數%';

Aborted_clients 由於客戶沒有正確關閉連接已經死掉,已經放棄的連接數量。
Aborted_connects
嘗試已經失敗的MySQL伺服器的連接的次數。
Connections 試圖連接MySQL伺服器的次數。
Created_tmp_tables
當執行語句時,已經被創造了的隱含臨時表的數量。
Delayed_insert_threads 正在使用的延遲插入處理器線程的數量。

Delayed_writes 用INSERT DELAYED寫入的行數。
Delayed_errors 用INSERT
DELAYED寫入的發生某些錯誤(可能重復鍵值)的行數。
Flush_commands 執行FLUSH命令的次數。
Handler_delete
請求從一張表中刪除行的次數。
Handler_read_first 請求讀入表中第一行的次數。
Handler_read_key
請求數字基於鍵讀行。
Handler_read_next 請求讀入基於一個鍵的一行的次數。
Handler_read_rnd
請求讀入基於一個固定位置的一行的次數。
Handler_update 請求更新表中一行的次數。
Handler_write
請求向表中插入一行的次數。
Key_blocks_used 用於關鍵字緩存的塊的數量。
Key_read_requests
請求從緩存讀入一個鍵值的次數。
Key_reads 從磁碟物理讀入一個鍵值的次數。
Key_write_requests
請求將一個關鍵字塊寫入緩存次數。
Key_writes 將一個鍵值塊物理寫入磁碟的次數。
Max_used_connections
同時使用的連接的最大數目。
Not_flushed_key_blocks 在鍵緩存中已經改變但是還沒被清空到磁碟上的鍵塊。

Not_flushed_delayed_rows 在INSERT DELAY隊列中等待寫入的行的數量。
Open_tables 打開表的數量。

Open_files 打開文件的數量。
Open_streams 打開流的數量(主要用於日誌記載)
Opened_tables
已經打開的表的數量。
Questions 發往伺服器的查詢的數量。
Slow_queries
要花超過long_query_time時間的查詢數量。
Threads_connected 當前打開的連接的數量。

Threads_running 不在睡眠的線程數量。
Uptime 伺服器工作了多少秒

5、請解釋為什麼oracle資料庫伺服器的物理內存會被耗盡

雖然報內存不足的錯,但不一定是你的機器本身的內存不足造成的,而只是你內在容安裝oracle的時候可能還在運行其他程序,從而導致內存不足的。你可以把其他比較吃內存的程序關掉,然後再試一下。或者系統重啟以後再安裝一次試一下。如果都不行的話,可能真是你的機器配置太低了。不過一般1~2G基本就可以了。

6、如果一台伺服器只用於資料庫服務,內存分配多少

只是向 DBMS 添加空間類型和對空間屬性的 SQL 支持並不足以支持 GIS。ArcGIS 採用多層應用程專序架構,在屬地理資料庫存儲模型之上的應用程序層執行高級邏輯和行為。
該應用程序邏輯支持一系列通用地理信息系統 (GIS) 數據對象和行為,如要素類、柵格數據集、拓撲、網路以及更多。

7、資料庫內存是個什麼意思啊?和伺服器內存有什麼關聯嗎

資料庫的內存用的就是伺服器的內存
區別在於建資料庫的時候,db的內存的大小是劃好的
以oracle為例,
redo,undo,share,sga,pga等存儲空間都屬於內存范疇
總的大小是小於server的內存的

8、怎麼設置sql2008資料庫最大伺服器內存

1、1.選擇「開始 > 所有程序 > Microsoft SQL Server 2008 R2 > SQL Server Management Studio」。系統顯示「連接到伺服器」界面。
2、2.輸入各項數據,單擊連接
3、3.系統顯示「對象資源管理器」界面
4、4.上圖單擊右鍵,在彈出的快捷菜單中選擇「屬性」。
5、5.在左側導航欄中選擇「內存」,將右側「最大伺服器內存」的值設置為物理內存的60%,本例以8G內存為例
6、6.最後單擊確定,設置完成

9、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服務,配置即可生效!

10、資料庫伺服器內存是32G的,內存佔用始終高達96%,實際看進程中最多也就佔用20%,怎麼回事?

我的電腦」→屬性→高級→性能→設置→高級→虛擬內存→更改→選擇虛擬內存(頁版面文件)權存放的分區→自定義大小→確定最大值和最小值→設置成物理內存的1.5--3倍最佳。這是我網上求教來的處理方法,你的CPU使用率這么低,按理來說絕對是正常的。不放心的話,把系統日誌調出來看下吧。另外說一句,不影響使用,是沒有問題的。

與資料庫伺服器內存相關的知識