2012-04-19 39 views
2

我瞭解到,.tlist windbg中的命令會在創建故障轉儲時轉儲系統中運行的所有進程。轉儲中的進程信息

我希望看到內存信息的每個進程。這樣可以幫助我瞭解系統是否由任何特定進程過載。

回答

7

!process 0 1將列出所有進程並顯示每個進程的內存相關信息。我使用livekd發佈了這個命令並獲得了所有的進程。這是我的鍍鉻處理(這是我從輸出挑出):

PROCESS fffffa8007cb4200 
SessionId: 1 Cid: 1158 Peb: 7efdf000 ParentCid: 0ff8 
DirBase: 1b7962000 ObjectTable: fffff8a00addb010 HandleCount: 135. 
Image: chrome.exe 
VadRoot fffffa80090a6f80 Vads 169 Clone 0 Private 4037. Modified 3702. Locked 0. 
DeviceMap 0000000000000000 
Token        fffff8a0091f9120 
ElapsedTime      00:05:49.161 
UserTime       00:00:00.000 
KernelTime      00:00:00.000 
QuotaPoolUsage[PagedPool]   0 
QuotaPoolUsage[NonPagedPool]  0 
Working Set Sizes (now,min,max) (8020, 50, 345) (32080KB, 200KB, 1380KB) 
PeakWorkingSetSize    10137 
VirtualSize      144 Mb 
PeakVirtualSize     151 Mb 
PageFaultCount     66631 
MemoryPriority     BACKGROUND 
BasePriority      8 
CommitCharge      5784 
Job        fffffa8009822e30 

注意內存相關的諸如「工作集大小」,「虛擬大小」等

PS性能。與livekd和系統內存轉儲(我相信是livekd所做的)一起工作。

Marc

+0

您是否在windbg的系統轉儲中使用**!process 0 1 **?我不知道如何使用livekd。你有什麼鏈接可以幫助我理解livekd的用法嗎? – Rockstart 2012-04-20 08:51:42

+0

livekd是一種通過生成內核內存轉儲並針對該轉儲運行命令來模擬本地內核調試的工具。但是由於在系統運行時需要轉儲,所以某些數據結構可能不一致。因此,真正的內核轉儲是最好的(由錯誤檢查生成)。只需在livekd上搜索,你就會獲得更多信息。是的,當使用windbg檢查內核轉儲時,輸入到livekd中的所有命令都是相同的用法。 – 2012-04-20 13:30:32

8

此信息不包含在進程轉儲中。 .tlist查詢您當前的系統,而不是轉儲發生時的狀態。正如Marc Sherman已經回答的那樣,如果您可以使用系統轉儲,則可以查看進程和內存使用情況。