UMDH
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>障害対応に使用するツールの一覧]]
* 目次 [#fd1ecf8f]
#contents
*概要 [#p76302e0]
UMDH:User Mode Dump Heap
-プロセスのスレッドのヒープの使用状況のログを取得できる。
-このログを比較することで、どのスタックトーレスが[[メモリ...
-javaや.netのマネージ・リソースの[[メモリ・リーク]]は検出...
-これは、マネージド・ヒープがガベージ・コレクタによって管...
*準備 [#q3ec8b8c]
-Debugging Tools for Windowsに同梱されているためこれをイ...
-ntdll.dllとバージョンの一致するシンボル・ファイルが必要...
_NT_SYMBOL_PATH環境変数にシンボル サーバとキャッシュ・フ...
(SRV*c:\websymbols*http://msdl.microsoft.com/download/sy...
-また、グローバルフラグを使用して~
ユーザモード スタックトレース データベース~
の作成を有効にする必要がある。
-ユーザモード スタックトレース データベースは~
メモリを使用するため、調査後には無効にする。
-グローバルフラグの有効・無効化には、~
Global Flags Editor (Gflags.exe) ユーティリティを使用する...
(Debugging Tools for Windowsに同梱されている)
--CUI
---有効化:gflags -i <実行ファイル名> +ust
---無効化:gflags -i <実行ファイル名> -ust
--GUI~
ImageFileタブから、対象イメージの~
create user mode stack trace databaseチェックボックスを有...
*ログ取得 [#r6305ceb]
アプリケーションを動作させ、プロセスのヒープの使用状況の...
umdh.exe -p:<プロセスID> -f:<ログファイル名>
*ログ分析 [#adc32308]
プロセスのヒープの使用状況のログ分析
umdh.exe <ログファイル1> <ログファイル2> > <リダイレク...
これにより2つのログの差分情報がリダイレクト先ファイルに...
以下のヘッダーはそのままヘルプになっている。
// Each log entry has the following syntax: ...
// ...
// + BYTES_DELTA (NEW_BYTES - OLD_BYTES) NEW_COUNT alloc...
// + COUNT_DELTA (NEW_COUNT - OLD_COUNT) BackTrace TRACE...
// ... stack trace ... ...
// ...
// where: ...
// ...
// BYTES_DELTA - increase in bytes between before an...
// NEW_BYTES - bytes in after log(ログ2のバイト数)
// OLD_BYTES - bytes in before log(ログ1のバイト数)
// COUNT_DELTA - increase in allocations between bef...
// NEW_COUNT - number of allocations in after log(...
// OLD_COUNT - number of allocations in before log(...
// TRACEID - decimal index of the stack trace in the...
// (can be used to search for allocation instanc...
+ 74736 ( 154363 - 79627) 124 allocs BackTrace3C ★...
+ 36 ( 124 - 88) BackTrace3C a...
ntdll!RtlDebugAllocateHeap+000000E1 ★ → スタックトレー...
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
MSVCR80!CExclusiveLock::CExclusiveLock+0000001A
+ 2048 ( 2048 - 0) 1 allocs BackTrace321
+ 1 ( 1 - 0) BackTrace321 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
MSVCR80!CSecurityManager::MapUrlToZoneEx2Internal+000001D2
MSVCR80!CUrlMon::SetIUri+00000074
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 576 ( 704 - 128) 22 allocs BackTrace318
+ 18 ( 22 - 4) BackTrace318 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!CSoftDist::GetSoftwareUpdateInfo+000000FC
MSVCR80!StringCchCopyExW+00000177
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 544 ( 1152 - 608) 36 allocs BackTrace30D
+ 17 ( 36 - 19) BackTrace30D ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!StringCchPrintfA+00000022
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 32 ( 32 - 0) 1 allocs BackTrace322
+ 1 ( 1 - 0) BackTrace322 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!CTransaction::DispatchReport+0000032C
MSVCR80!CINetHttp::HttpNegGetRootSecurityId+00000062
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
*参考 [#n99fd04b]
-リークが発生します [Umdhtools.exe] Umdh.exe を使用して、...
http://support.microsoft.com/kb/268343/ja
-Help needed regarding UMDH Log~
http://social.msdn.microsoft.com/Forums/en-us/windowsgene...
----
Tags: [[:インフラストラクチャ]], [[:Windows]], [[:障害対...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>障害対応に使用するツールの一覧]]
* 目次 [#fd1ecf8f]
#contents
*概要 [#p76302e0]
UMDH:User Mode Dump Heap
-プロセスのスレッドのヒープの使用状況のログを取得できる。
-このログを比較することで、どのスタックトーレスが[[メモリ...
-javaや.netのマネージ・リソースの[[メモリ・リーク]]は検出...
-これは、マネージド・ヒープがガベージ・コレクタによって管...
*準備 [#q3ec8b8c]
-Debugging Tools for Windowsに同梱されているためこれをイ...
-ntdll.dllとバージョンの一致するシンボル・ファイルが必要...
_NT_SYMBOL_PATH環境変数にシンボル サーバとキャッシュ・フ...
(SRV*c:\websymbols*http://msdl.microsoft.com/download/sy...
-また、グローバルフラグを使用して~
ユーザモード スタックトレース データベース~
の作成を有効にする必要がある。
-ユーザモード スタックトレース データベースは~
メモリを使用するため、調査後には無効にする。
-グローバルフラグの有効・無効化には、~
Global Flags Editor (Gflags.exe) ユーティリティを使用する...
(Debugging Tools for Windowsに同梱されている)
--CUI
---有効化:gflags -i <実行ファイル名> +ust
---無効化:gflags -i <実行ファイル名> -ust
--GUI~
ImageFileタブから、対象イメージの~
create user mode stack trace databaseチェックボックスを有...
*ログ取得 [#r6305ceb]
アプリケーションを動作させ、プロセスのヒープの使用状況の...
umdh.exe -p:<プロセスID> -f:<ログファイル名>
*ログ分析 [#adc32308]
プロセスのヒープの使用状況のログ分析
umdh.exe <ログファイル1> <ログファイル2> > <リダイレク...
これにより2つのログの差分情報がリダイレクト先ファイルに...
以下のヘッダーはそのままヘルプになっている。
// Each log entry has the following syntax: ...
// ...
// + BYTES_DELTA (NEW_BYTES - OLD_BYTES) NEW_COUNT alloc...
// + COUNT_DELTA (NEW_COUNT - OLD_COUNT) BackTrace TRACE...
// ... stack trace ... ...
// ...
// where: ...
// ...
// BYTES_DELTA - increase in bytes between before an...
// NEW_BYTES - bytes in after log(ログ2のバイト数)
// OLD_BYTES - bytes in before log(ログ1のバイト数)
// COUNT_DELTA - increase in allocations between bef...
// NEW_COUNT - number of allocations in after log(...
// OLD_COUNT - number of allocations in before log(...
// TRACEID - decimal index of the stack trace in the...
// (can be used to search for allocation instanc...
+ 74736 ( 154363 - 79627) 124 allocs BackTrace3C ★...
+ 36 ( 124 - 88) BackTrace3C a...
ntdll!RtlDebugAllocateHeap+000000E1 ★ → スタックトレー...
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
MSVCR80!CExclusiveLock::CExclusiveLock+0000001A
+ 2048 ( 2048 - 0) 1 allocs BackTrace321
+ 1 ( 1 - 0) BackTrace321 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
MSVCR80!CSecurityManager::MapUrlToZoneEx2Internal+000001D2
MSVCR80!CUrlMon::SetIUri+00000074
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 576 ( 704 - 128) 22 allocs BackTrace318
+ 18 ( 22 - 4) BackTrace318 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!CSoftDist::GetSoftwareUpdateInfo+000000FC
MSVCR80!StringCchCopyExW+00000177
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 544 ( 1152 - 608) 36 allocs BackTrace30D
+ 17 ( 36 - 19) BackTrace30D ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!StringCchPrintfA+00000022
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
+ 32 ( 32 - 0) 1 allocs BackTrace322
+ 1 ( 1 - 0) BackTrace322 ...
ntdll!RtlDebugAllocateHeap+000000E1
ntdll!RtlAllocateHeapSlowly+00000044
ntdll!RtlAllocateHeap+00000E64
ntdll!RtlpAllocateDebugInfo+00000049
ntdll!RtlInitializeCriticalSectionAndSpinCount+000000A9
kernel32!InitializeCriticalSectionAndSpinCount+00000015
MSVCR80!CTransaction::~CTransaction+000001E7
MSVCR80!CTransaction::DispatchReport+0000032C
MSVCR80!CINetHttp::HttpNegGetRootSecurityId+00000062
MSVCR80!CEnumFmtEtc::Next+0000005C
MSVCR80!IsStatusOk+00000012
MSVCR80!CINetHttp::ErrorHandlingRequest+00000019
MSVCR80!CSecurityManager::CheckMKURL+00000038
MSVCR80!CIEApplicationAssociation::GetMimeFromExt+000000E7
MSVCR80!CIEApplicationAssociation::GetExtFromMime+00000039
*参考 [#n99fd04b]
-リークが発生します [Umdhtools.exe] Umdh.exe を使用して、...
http://support.microsoft.com/kb/268343/ja
-Help needed regarding UMDH Log~
http://social.msdn.microsoft.com/Forums/en-us/windowsgene...
----
Tags: [[:インフラストラクチャ]], [[:Windows]], [[:障害対...
ページ名: