欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SQL Server內存性能分析

內存概念:

Working Set = Private Bytes + Shared Memory

Working Set:某個(gè)進(jìn)程的地址空間中,存放在物理內存的那一部分

Private Bytes:某個(gè)進(jìn)程提交的地址空間(Commited Memory)中,非共享的部分

Shared Memory:對多個(gè)進(jìn)程可見(jiàn)的內存,或存在于多個(gè)進(jìn)程的虛擬地址空間。例如如果兩個(gè)進(jìn)程使用相同的DLL,只要該DLL代碼裝入內存一次,其他所有映射這個(gè)DLL的進(jìn)程只要共享這些代碼就可以了

 

Virtual Address Space :2的64次方。Windows會(huì )自行決定什么時(shí)候放在Physical Memory,什么時(shí)候放在Paging file

Reserved Memory:應用程序會(huì )先Reserve一塊內存的地址空間

Committed Memory:將Reserve的內存頁(yè)面正式Commit使用,Commit的頁(yè)面會(huì )最終轉換到Physical Memory中的有效頁(yè)面

Memory Leak:一直不斷的Reserve或Commit內存資源,即使不再被使用也不會(huì )釋放給其他用戶(hù)使用

 

Page Fault:訪(fǎng)問(wèn)一個(gè)存放于Viratul Address Space,但不存在于物理內存(Working Set)的頁(yè)面,就會(huì )發(fā)生Page Fault。如果目標頁(yè)面存放于硬盤(pán)(例如Pageing File),則會(huì )進(jìn)行硬盤(pán)讀寫(xiě),稱(chēng)之為Hard Fault。如果已經(jīng)存在在物理內存中,但是還沒(méi)有直接放在這個(gè)進(jìn)程的Working Set下,則需要Windows重新定向一次,不會(huì )帶來(lái)硬盤(pán)讀寫(xiě),稱(chēng)之為Soft Fault。由于Soft Fault一般不會(huì )帶來(lái)性能影響,因此一般不使用該計數器,而是使用Pages/sec  

Committed Bytes:整個(gè)Windwos系統(包括Windows自身及其所有用戶(hù)進(jìn)程)使用的內存總數,包括Physical Memory和Paging file中的數據

Pages/sec:Hard Page Fault每秒鐘需要從磁盤(pán)上讀取或寫(xiě)入的頁(yè)面數目(包括Windows和所有應用進(jìn)程的所有磁盤(pán)Paging動(dòng)作)
Pages/sec = Memory:Pages Input/sec + Pages Output/sec

Page File:%Usage和Page File:%Peak Usage :反映Paging File使用量的多少。數據在Paging File中存的越多,說(shuō)明Physical Memory和實(shí)際需求量差距越大,性能越差 

=================================================================================

Windows系統自身內存使用情況:
一般情況下在64為機器上,使用1-2GB左右。如果由于一些硬件驅動(dòng)造成了內存泄露,則Windows可能會(huì )占用到幾GB甚至更多的內存。

系統的Working Set,也就是系統使用的物理內存量,包括高速緩存、頁(yè)交換區、可調頁(yè)的ntoskrnl.exe、驅動(dòng)程序代碼和系統映射圖等

Cache Bytes:系統使用的物理內存數目

Cache Bytes = System Cache Resident Bytes + System Driver Resident Bytes + System Code Resident Bytes + Pool Paged Resident Bytes

Memory:System Cache Resident Bytes(System Cache):系統高速緩存消耗的物理內存。高速緩存的主要功能是提高文件讀寫(xiě)速度(例如讀寫(xiě)超大文件)

賦予SQL服務(wù)賬號“Lock Pages in Memory”權限,以便SQL Server可以將自己所申請的內存鎖定放在物理內存中,企業(yè)版自動(dòng)啟用該功能。但是NonbufferPool的內存不受限制 

SQL Server作為一個(gè)用戶(hù)態(tài)為主的應用程序,還是會(huì )受限于核心態(tài)。如果核心態(tài)里發(fā)出內存要求,SQL Server就會(huì )被迫把自己的內存釋放出來(lái)。用戶(hù)態(tài)永遠也搶不過(guò)核心態(tài)。

  

=================================================================================

檢查某個(gè)進(jìn)程的內存使用情況:
Process:Working Set

Process:Private Bytes

Process:Virtual Bytes:某個(gè)進(jìn)程所申請的Virtual Address Space,包括Reserved Memory和Committed Memory

如果系統內存有瓶頸,磁盤(pán)一般也會(huì )很忙,paging也會(huì )較多;但如果磁盤(pán)很忙,但是paging不高,就不能說(shuō)明系統內存有瓶頸

 

=================================================================================

SQL Server內存:
Traget Server Memory:SQL Server在理論上能夠使用的最多的內存量。如果在SQL Server中設置了 Max Server Memory,則會(huì )使用該值作為內存上限

Total Server Memory:SQL Server自己分的代碼申請的Buffer Pool空間大小,所有的Database Cache和大部分的Consumer(Connection、Query Plan、
Optimizer等)都保存在Buffer Pool中,對于一些特別長(cháng)的語(yǔ)句的Query Plan、Optimizer等內存使用一部分的Multi-Page

Buffer Pool = Max Server Memory 或 SQL physical memory-Multi-page

Max Server Memory是Buffer Pool的上限,但不是SQL Server所有內存使用的上限。SQL Server內存的使用包括Buffer Pool和MemToLeave,所以SQL Server實(shí)際內存使用量一定大于Max Server Memory。但在正常情況下,MemToLeave的使用會(huì )遠小于Buffer Pool,控制好Buffer Pool,基本上就控制住了SQL Server的整體內存使用量。 
 
Traget Server Memory和Total Server Memory都是指邏輯上的內存空間大小,而不是物理內存空間大小。數據是存放在page file還是物理內存中是由Windows決定的。 

SQL Server內存使用分類(lèi):

按申請方式分類(lèi):

對Database Cache,會(huì )先Reserve,再Commit。其他的所有內存使用,基本都是直接Commit,都是Stolen(Memory Leak)


按申請大小分類(lèi):

對于所有小于或等于8KB的,直接分配給一個(gè)頁(yè)面:8KB。所有這些頁(yè)面都集中管理,這塊內存被稱(chēng)為Buffer Pool,一次一個(gè)頁(yè)面的分配被稱(chēng)為Single page Allocation  

對于大于8KB的內存申請,會(huì )被集中在另外一個(gè)區域,成為Multi-Page(或MemToLeave),這種分配稱(chēng)為Multipl Page Allocation

 


SQL Server性能計數器使用:

Memory Manager:監視服務(wù)器內存總體使用情況

Ttotal Server Memory(KB)

Traget Server Memory(KB)
Optimizer Memory(KB):服務(wù)器正在用于查詢(xún)優(yōu)化的動(dòng)態(tài)內存總數

SQL Cache Memory(KB):服務(wù)器正在用于動(dòng)態(tài)SQL Server高速緩存的動(dòng)態(tài)內存總數

Lock Memory(KB):服務(wù)器用于鎖的動(dòng)態(tài)內存總量

Connection Memory(KB):服務(wù)器正在用來(lái)維護連接的動(dòng)態(tài)內存總量

Granted Workspace Memory(KB):當前給予執行哈希、排序、大容量復制和索引創(chuàng )建等操作進(jìn)程的內存總量

Memory Grants Pending:等待工作空間內授權的進(jìn)程總數。如果該值不等于0,就說(shuō)明當前有一個(gè)用戶(hù)的內存申請由于內存壓力而被延遲。一般來(lái)講,這就意味著(zhù)有比較嚴重的內存瓶頸 

 

Buffer Manager:用于監視內存如何使用

Buffer Cache Hit Ratio:在緩沖區高速緩存中找到而不需要從磁盤(pán)中讀取的頁(yè)的百分比。經(jīng)過(guò)很長(cháng)時(shí)間后,該比率的變化應該很小,基本應該在99%以上。如果小于95%,通常就有了內存不足的問(wèn)題??梢酝ㄟ^(guò)增加SQL Server的可用內存來(lái)提高

Database Pages:緩沖池中有數據庫內容的頁(yè)數。也就是所謂的Database Cache的大小

Free pages:所有空閑可用的總頁(yè)數。當這個(gè)值降低是就說(shuō)明SQL Server正在分配內存給一些用戶(hù)。當這個(gè)值下降到比較低的值時(shí)(例如只剩幾百個(gè)page了),SQL Server就會(huì )開(kāi)始做Lazy Write,把一些內存讓出來(lái),所以該值一般不會(huì )為0.但如果該值反復降低,就說(shuō)明內存存在瓶頸。一個(gè)沒(méi)有內存瓶頸的SQL Server的Free Pages會(huì )維持在一個(gè)穩定的值 
 
Lazy writes/sec:每秒被緩沖區管理器的Lazy writer寫(xiě)入的緩沖區數。Lazy writer是一個(gè)系統進(jìn)程,用于呈批刷新臟的老化的緩沖區(包括更改的緩沖區,必須將這些更改寫(xiě)回磁盤(pán),才能將緩沖區重用于其他頁(yè)),并使他們可用于用戶(hù)進(jìn)程。當SQL Server感覺(jué)到內存壓力時(shí),就會(huì )將最久沒(méi)有被重用到的數據頁(yè)和執行計劃清理出內存。這些數據頁(yè)和執行計劃,就被稱(chēng)為“老化的緩沖區”,這個(gè)清理動(dòng)作就是由Lazy writer完成的。所以如果SQL Server內存壓力不大,Lazy writer就不會(huì )被經(jīng)常觸發(fā)。如果被經(jīng)常觸發(fā),就應該是有內存瓶頸 
  
Page life expentancy:頁(yè)若不被引用,將在緩沖池中停留的秒數。如果SQL Server沒(méi)有新的內存需求,或者有空余的空間來(lái)完成新的內存需求,那么Lazy writer就不會(huì )被觸發(fā),頁(yè)面會(huì )一直放在緩沖池中,Page life expentancy就會(huì )維持在一個(gè)較高的值。如果SQL Server出現了內存壓力,Lazy writer就會(huì )被觸發(fā),Page life expentancy也會(huì )突然下降。所以如果Page life expentancy總是高高低低,SQL Server應該就出現了內存瓶頸 
 
Page reads/sec:每秒發(fā)出的物理數據庫頁(yè)讀取數。此統計信息顯示的是所有數據庫間的物理頁(yè)讀取總數。如果用戶(hù)訪(fǎng)問(wèn)的數據都緩存在了內存里,那么SQL Server就不需要從磁盤(pán)讀取頁(yè)面,不許需要做任何的Page reads。當SQL Server需要讀取這些頁(yè)面時(shí),必須要為他們騰出內存空間。所以當Page reads/sec高時(shí),一般Page life expentancy會(huì )下降,Lazy writes/sec會(huì )上升 
由于物理I/O開(kāi)銷(xiāo)大,Page Reads動(dòng)作一定會(huì )影響SQL Server性能,可以通過(guò)使用更大的數據緩存、智能索引、更有效的查詢(xún)或更改數據庫設計等方法降低Page Reads

Page writes/sec:每秒執行的物理數據庫頁(yè)寫(xiě)入數。該值和內存使用沒(méi)有什么關(guān)系,和Checkpoint pages/sec一樣,更用戶(hù)的修改量有關(guān)

Checkpoint pages/sec:由要求刷新所有臟頁(yè)的檢查點(diǎn)或其他操作每秒刷新到磁盤(pán)的頁(yè)數。該值和內存壓力沒(méi)有直接關(guān)系,和用戶(hù)行為有關(guān)。如果用戶(hù)操作主要是讀,Checkpoint值就比較小。如果很多操作都是Insert/Update/Delete,name內存中修改過(guò)的數據臟頁(yè)就會(huì )比較多,每次Checkpoint的量也會(huì )較大。主要用來(lái)分析磁盤(pán)I/O  

Stolen Pages:用于非Database Pages(包括執行計劃緩存)的頁(yè)數。這里就是Stolen Memory在Buffer Pool里的大小

Target Pages:緩沖池中理想的頁(yè)數,乘以8KB,就應該是Target Server Memory的值

Total Pages:緩沖池中的頁(yè)數(包括數據庫頁(yè)、可用頁(yè)和Stolen頁(yè))乘以8KB,就應該還是Total Server Memory的值

 

SQL性能分析步驟:

1)當內存出現瓶頸時(shí),會(huì )出現大量的paging動(dòng)作,磁盤(pán)也就會(huì )很繁忙。所以要先解決內存瓶頸,才能降低I/O

2)分析磁盤(pán)性能是否正常,讀/寫(xiě)是否已達到預期值,是讀還是寫(xiě)繁忙

3)查看引起高I/O的操作類(lèi)型(Page Reads、Page Writes、Lazy Writes、Checkpoints、Log Writes等)

 

動(dòng)態(tài)性能視圖:
select * from sys.sysprocesses

select * from sys.dm_os_wait_stats

select *from sys.dm_exec_requests

 

=================================

計數器(2分鐘):

Processor\% Privileged Time
Processor\% Processor Time
Memory\Available Mytes
PhysicalDisk\Avg. Disk sec/Read
PhysicalDisk\ Avg. Disk sec/Write
SQLServer:SQL Statistics\Batch Requests/sec
SQLServer:Memory Manager\Target Server Memory (KB)
SQLServer:Memory Manager\Total Server Memory (KB)

Process(w3wp)\Working Set
Process(w3wp)\Private Bytes

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
第四章——SQLServer2008-2012資源及性能監控(3)分類(lèi):數據庫管理SQLServer2012cookbookDBA
內存問(wèn)題定位與解決
對oracle實(shí)例的內存(SGA和PGA)進(jìn)行調整,優(yōu)化數據庫性
SQL SERVER 內存分配及常見(jiàn)內存問(wèn)題 簡(jiǎn)介
深入SQL SERVER 2000的內存管理機制(三)
淺談SQL Server 對于內存的管理
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久