2009-07-23 48 views
49

我運行Windows 7 RC1,它使用與Vista相同的WTM。當我在看的過程中,我的一些列不知道的區別是:如何解釋Windows任務管理器?

  • 記憶 - 工作集
  • 內存 - 私人工作組
  • 內存 - 提交大小

誰能告訴我他們是什麼?

+3

雖然這是一個有效的問題,它可能會更好的superuser.com – 2009-07-23 09:36:06

+9

問的這個問題是在這裏有效的,因爲我們都應該瞭解操作系統如何處理內存分辯? – dfa 2009-07-23 09:36:56

+4

我很高興在這裏。當追蹤內存泄漏時,我經常用同樣困惑的眼睛看待這些值! – spender 2009-07-23 09:37:46

回答

47

從以下article,下部分類型的內存使用的:

主要有兩種類型的內存使用的是:工作集和私人工作集。私有工作集是一個進程所使用的內存量,不能在其他進程中共享,而工作集包括其他進程共享的內存。

這可能聽起來令人困惑,所以讓我們嘗試簡化一下。讓我們假裝有兩個孩子在着色,而這兩個孩子都有自己的蠟筆。他們決定分享一些蠟筆,讓他們有更多的顏色可供選擇。當每個孩子被問及他們使用了多少蠟筆時,他們都說他們使用了7支蠟筆,因爲他們每個人都分享了2支蠟筆。

這個比喻的一點是,如果不知道這兩個孩子是在分享,那麼可以認爲總共有14支蠟筆,但實際上只有10支蠟筆可用。這裏是概要:

  • 工作組:這包括所有共享的蠟筆,所以總的是14
  • 私人工作集:這僅包括每個孩子擁有蠟筆,並且不反映每幅圖片中實際使用的數量。總數是10。

這是一個很好的比較如何測量記憶。許多應用程序會重複使用系統中已有的代碼,因爲最終它有助於減少整體內存消耗。如果您正在查看工作集的內存使用情況,您可能會感到困惑,因爲所有正在運行的進程實際上可能會加起來多於已安裝的RAM數量,這與我們上面的蠟筆隱喻相同。自然地,工作集將總是比私人工作集大。

4

'工作集'是進程當前在物理RAM中的內存量。換句話說,訪問「工作集」中的任何頁面都不會導致頁面錯誤,因爲頁面在RAM中。

至於另外兩個,我不是100%確定的,可能'工作集'包含可共享的內存,如內存映射文件,'私人工作集'只包含進程可以使用的頁面,而不是共享。

看看這個site並尋找說話者'Dave Solomon'。他給出了一個很好的網絡廣播,解釋了Windows內存,他提到了工作集,提交大小和其他內存條件。

編輯:

這些網站的鏈接確實是死:(

相反,你可以谷歌搜索

VIMEO大衛所羅門窗口

那些相同的視頻看現在在Vimeo上可用,這很酷。

19

Working set

工作集是常駐在只有物理內存中的虛擬頁的子集;這將是來自該進程的部分頁面。

Private working set

私人工作集的存儲器由不能其他進程之間共享

Commit size一個過程中使用的量:

金額的保留供進程使用的virtual memory

而在microsoft.com處,您可以找到有關其他內存類型的更多詳細信息。

1

如果從WTM打開資源監視器,鼠標移動到了有趣的過程的各個列標題會顯示一個非常翔實的工具提示。

例如 提交(KB):操作系統爲進程保留的虛擬內存量,以KB爲單位。

相關問題