Windows內存性能分析(二)性能瓶頸


內存瓶頸: 由於可用內存缺乏導致系統性能下降的現像。

(一)、相關的性能對象

主要考慮內存的頁面操作和磁盤的I/O操作,需要考慮如下性能對象:

Memory性能對象: 用於分析整個系統的內存瓶頸問題。

Process性能對象: 分析某個應用的內存性能瓶頸問題。

Physical Disk性能對象,與內存性能瓶頸被動相關。

 

(二)、幾個重要性能計數器

Available MBytes/KBytes: 顯示當前系統可用的內存數值,如果經常性的可用內存小於物理內存的一半,說明系統負擔有點兒重,可以考慮增加內存。

這是我電腦的可用內存,2G的物理內存,說明也需要增加內存了。

Pages/sec、Pages Input/sec、Page Reads/sec、Page Faults/sec: 這幾個計數器在Memory和Process都有,代表整個內存和單個進程的頁面操作信息。用於分析整個系統或關注的程序使用內存的狀況。

Pages/sec: 每秒pages Input(硬頁面錯誤發生時,程序從虛擬內存讀取頁面)和Page Output(程序向虛擬內存寫入頁面)的和。

Page Faults/sec: 硬頁面錯誤次數和軟頁面錯誤次數相加的和。

Page Reads/sec: 硬頁面錯誤發生時,程序讀取虛擬內存的次數。

 

(三)、可能存在內存瓶頸的幾種情況

1. 如果Page Reads/sec 平均值經常性的超過5。下圖是我電腦上的計數器值,目前看來值還比較小,說明不存在內存性能瓶頸。

2. 如果Pages Input/sec比較大,平均值達到10或者更多。下圖說明不存在內存性能瓶頸。

3. 如果Pages Input/sec 除以 Page Faults/sec大於50%。將上圖的平均值與下圖的平均值進行對比,說明不存在內存性能瓶頸。

4. 如果Page Reads/sec 大於 Pages Input/sec,將圖4與圖2進行對比,說明不存在內存性能瓶頸。

 

說明:

1. Page Reads/sec 與Pages Input/sec的區別: 前者是指每秒讀取虛擬內存的次數,后者是指每秒從虛擬內存讀取的頁面數。

程序的代碼和數據可能存儲在工作集(A)、虛擬內存(B)、內存的其他地方(C)。從工作集(A)讀取速度最快,從虛擬內存(B)讀取速度最慢。

2. 硬頁面錯誤: 如果程序所需的數據在A中找不到,必須在B中才能找到,這種情況叫做硬頁面錯誤。

3. 軟頁面錯誤: 如果程序所需的數據在A中找不到,必須在C中才能找到,這種情況叫做軟頁面錯誤。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM