如何使用Windows 10的資源監視器來跟踪內存使用情況

正如我在文章中所描述的,我在我的舊華碩 F3 筆記本電腦上安裝了 64 位版本的 Windows 10,配備 AMD Turion 64 X2、80GB 硬盤和 1GB RAM。現在,我知道了微軟推薦64 位 Windows 10 需要 2 GB RAM,但我想我應該嘗試一下,看看這個舊系統的表現如何。我必須說它實際上表現得很好。當然,我注意到內存不足會對性能產生不利影響。但我只是偶爾使用這個系統,然後主要用於上網和玩一些在線遊戲。所以這是可以接受的。

問題是,使用這台內存有限的舊筆記本電腦激發了我在資源監視器的“內存”選項卡上調查內存使用情況的興趣。我重新發現了這個工具的強大功能。正因如此,我還一直在使用資源監視器來跟踪我的多個 Windows 10 系統上的內存使用情況。在我這樣做的過程中,我發現了一些有價值的信息,我相信您可以在 Windows 10 系統上使用這些信息。讓我們仔細看看。

看:

內存概覽

讓我們快速回顧一下 Windows 10 中的內存管理。這將使“內存”選項卡上顯示的信息更容易整理。

基本上,Windows 10 的內存管理器創建一個虛擬內存系統,由可用物理內存和硬盤上的頁面文件系統組成。使用此虛擬內存系統使操作系統能夠分配在物理內存尋址和虛擬內存尋址中連續的固定長度內存塊(頁面)。

入門

要開始使用資源監視器,請按 Windows +R,輸入雷斯蒙程序在“打開”文本框中,然後按 Enter。在資源監視器用戶界面中,選擇“內存”選項卡,如圖所示圖A

圖A

“內存”選項卡顯示有關 Windows 10 內存使用情況的詳細信息。

圖表

在資源監視器的“內存”選項卡的右側,您將看到三個圖表:已用物理內存、提交費用和每秒硬故障數。

已用物理內存圖表顯示一個百分比值,表示正在使用的物理內存量。 Commit Charge 圖表顯示了正在使用的虛擬內存量。這包括正在使用的物理內存量以及已保存在頁面文件中的任何頁面。硬故障/秒圖顯示了代表硬故障發生的活動峰值。

這些圖表顯示一分鐘的活動並連續運行。如果您想在特定圖表滾動出視圖之前檢查該圖表上的活動,請下拉“監控”菜單並選擇“停止監控”命令。選擇“開始監控”命令以恢復。

進程表

在“內存”選項卡上,您將找到“進程”表,其中列出了所有當前正在運行的進程並將每個進程的內存使用情況細分為各種類別(圖B)。讓我們更詳細地了解每個類別。

圖B

進程表將每個進程的內存使用情況分為幾個類別。

圖像

圖像列顯示進程的可執行文件名。代表應用程序的進程很容易識別。例如,很明顯notepad.exe進程對應於記事本。名為 svchost.exe 的進程代表操作系統正在運行的服務。該服務的名稱包含在“映像”列中列出的每個 svchost.exe 實例旁邊的括號中。

PID

PID 列顯示進程的進程 ID 號——在進程運行時唯一標識該進程的數字。

硬故障/秒

“硬故障數/秒”列顯示過去一分鐘內每秒發生的平均硬頁面故障數。如果進程嘗試使用比當前可用的物理內存更多的物理內存,則係統必須將某些內存內容寫入或分頁到磁盤。 (如果進程稍後需要並訪問磁盤上存在的內存內容,則稱為硬故障.)

犯罪

Commit 列顯示操作系統為進程保留的虛擬內存量(以千字節為單位)。這包括正在使用的物理內存量以及已保存在頁面文件中的任何頁面。按“提交”列排序以查看哪些進程使用的內存最多。

工作集

工作集列顯示進程當前使用的物理內存量(以千字節為單位)。工作集可以分為可共享內存和私有內存類別。

可分享專欄顯示進程當前正在使用並與其他進程共享的物理內存量(以千字節為單位)。為公共進程共享內存部分或頁面可以節省內存空間,因為只需要頁面的一份副本。該頁面的一份物理副本位於內存中,然後將其映射到需要訪問的其他進程的虛擬地址空間。例如,系統 DLL(例如 Ntdll、Kernel32、Gdi32 和 User32)在所有進程之間共享內存。

私人專欄顯示進程當前正在使用但未與其他進程共享的物理內存量(以千字節為單位)。這使您可以相當準確地測量應用程序運行所需的內存量。

密切關注硬故障

監控內存使用情況時應該注意什麼?當您加載應用程序並使用文件時,操作系統的內存管理器會監視每個進程的工作集並監視對更多內存資源的請求。隨著進程工作集的增長,內存管理器會平衡進程對更多內存的需求與來自內核和其他進程的內存請求。如果地址空間變得稀缺,內存管理器將縮小工作集的大小,通常將一些內存內容分頁到磁盤。如果必須從磁盤讀回該頁,則會導致硬故障。

硬故障是很常見的情況,但多個硬故障通常需要額外的時間,以便系統可以從磁盤讀取頁面。如果硬故障發生得太頻繁,磁盤讀取會降低系統響應能力。如果您曾經在系統上工作過,突然一切似乎都以慢動作運行,然後又突然恢復到正常速度,則您的系統可能正在交換內存,以便能夠繼續工作。如果您定期發現與特定進程相關的大量硬故障,則您的系統很可能需要更多物理內存。

資源監視器的過濾系統可以幫助您監視遇到大量硬故障的進程。選中流程旁邊的複選框,將其移至列表頂部。這些硬故障將在“硬故障/秒”圖表中以橙色顯示。

筆記:當談到內存使用時,可能涉及許多其他因素。監視硬故障並不是監視內存使用情況的唯一或最佳方法。但它確實提供了一個很好的起點。

物理內存表

進程表提供了內存使用情況的精細視圖,而物理內存表則提供了全局視圖。它的主要功能是一個條形圖,可以以獨特的方式查看內存使用情況(圖C)。

圖C

此條形圖向您顯示 Windows 10 內存使用情況的全局視圖。

條形圖的每個部分代表內存頁的列表。當您使用系統時,內存管理器在後台工作,在這些列表之間來回移動內存。這使其能夠保持物理內存和硬盤使用之間的平衡,使您的系統能夠最有效地工作。

硬件保留

硬件保留列表顯示為硬件保留的內存量。它表示您的硬件設備保留的內存量,以便它們可以與操作系統進行通信。為硬件保留的內存本質上是鎖定的,因此內存管理器無法使用它。

一般來說,硬件保留內存量的範圍為 10 到 70 MB,但它可能會根據您的硬件配置而有所不同。在某些情況下,它可能是幾百 MB。以下是一些可能影響保留內存量的組件示例:

  • 系統BIOS
  • 主板資源,例如 I/O 高級可編程中斷控制器 (APIC)
  • 聲卡或其他需要內存映射 I/O 的設備
  • PCI Express (PCIe) 總線
  • 視頻卡
  • 各種芯片組
  • 閃存設備

筆記:一些用戶報告稱,大量內存被分配給硬件保留列表。我自己沒有遇到過這個問題,所以我無法驗證建議的解決方案,但很多人都說升級系統 BIOS 固件解決了這個問題。

使用中

“正在使用”列表顯示為綠色。它指示操作系統、驅動程序和正在運行的進程正在使用的內存量。該內存的計算方法是將“已修改”、“備用”和“可用”值的大小相加,然後從已識別的內存量中減去總和。它在圖表正下方的部分中列為總計。總內存是通過從已安裝的 RAM 中減去任何硬件保留內存來計算的。

修改的

已修改列表以橙色顯示,表示包含已修改但最近未訪問的數據的內存頁。從技術上講,它尚未投入使用,但如果需要,可以快速投入使用。如果Modified列表中的內存長時間沒有被訪問,內存管理器會將頁面寫入磁盤並將其移至Standby列表。

支持

待機列表顯示為藍色。如果包含已從流程工作集刪除但仍鏈接到其工作集的頁面。備用列表基本上是一個緩存,但列表中的內存頁面的優先級範圍為 0-7(其中 7 最高)。

與高優先級進程相關的頁面將在備用列表中獲得高優先級。例如,可共享的進程將具有高優先級,並且與它們關聯的頁面將在備用列表中具有最高優先級。

如果進程需要與該進程關聯的頁面,並且該頁面現在位於備用列表中,則內存管理器將將該頁面返回到該進程的工作集。但是,備用列表上的所有頁面都可用於任何進程的內存分配請求。當一個進程請求更多的內存不足並且空閒列表中沒有足夠的內存,內存管理器檢查頁面的優先級。然後,它將從備用列表中獲取一個低優先級的頁面,對其進行初始化,並將其分配給該進程。

自由的

可用列表顯示為淺藍色。它包含尚未分配給進程或先前分配但在進程結束時返回到內存管理器的內存頁。請注意,雖然“尚未分配”和“先前分配”內存都顯示在圖表的空閒部分中,但“尚未分配”頁面實際上是另一個稱為零頁列表的列表的一部分。它們已初始化為零,並可以在內存管理器需要新頁面時使用。

一個誤解

對於 Windows 10 的內存管理方案存在一個常見的誤解。正如我們在圖 C 中看到的,可用內存是圖中第二小的列表。許多用戶認為這意味著 Windows 10 非常消耗內存。他們想知道當幾乎沒有可用內存時系統如何能夠有效運行。

事實上,事實恰恰相反。在Windows 10的內存管理方案中,空閒內存就是浪費的內存。 Windows 10 保留的內存越多越好。通過使用所有可用內存和在列表之間調整頁面,以及使用其待機優先級系統,Windows 10 可以幫助防止內存頁面命中頁面文件,因為在頁面文件中可能會發生硬故障和性能低下。

觀察內存使用情況

要演示 Windows 10 的內存管理方案,請重新啟動系統。登錄後,啟動資源監視器,選擇內存選項卡,然後記下物理內存條形圖上列表的大小。

接下來,開始加載應用程序。很多。越大越好。當每個應用程序加載時,切換到資源監視器並觀察物理內存圖表上列表大小的變化。完成加載應用程序後,開始關閉它們。切換回資源監視器並再次觀察列表大小的變化。

此練習將讓您更好地了解 Windows 10 的內存管理方案如何在您的系統上工作。現在,您可以使用資源監視器來密切關注正常計算會話期間的內存使用情況。

還讀...

你怎麼看?

您是否使用資源監視器來監視內存使用情況?與 TechRepublic 成員分享您的建議和經驗。