User Time is a good indicator. A thread can only run on one CPU at a time,
so a thread stuck in a loop will drive 1 CPU to 100% and leave the other @
50%. When you look at the CPU usage (100 + 0), you'll see 50%. One other
thing I check is if the thread is in a WAIT state (e.g. WaitForSingleObject,
etc.). That would mean that it (the thread) is not currently using CPU and
can be ignored for a high CPU issue.
Pat
"Scott Forsyth" <scottnewsgroups DeleteThis @orcsweb.com> wrote in message
news:%23y33bi9YEHA.2408@tk2msftngp13.phx.gbl...
> Pat,
>
> If you don't mind me asking. How can you tell it's using 50% of the CPU
and
> only 1 of the CPUs? Is that an assumption based on what was told to you
or
> can you tell somehow from the dump? I don't see any hints in the dump
that
> say anything except that it has used a lot of User Time CPU. (I'm trying
to
> learn how to read these successfully).
>
> Thanks,
>
> Scott
>
> "Pat [MSFT]" <patfilot DeleteThis @online.microsoft.com> wrote in message
> news:OzEN9VWYEHA.3804@TK2MSFTNGP10.phx.gbl...
> > It's the foxpro stuff (thread 6). It's used all the CPU. It registers
as
> > 50% probably b/c you are on a dual proc (i.e. 1 proc is 100% the other
is
> > 0). I don't know if it is a bug in your object or FP.
> >
> > Pat
> >
> > "ibmcal" <ibmcal6 DeleteThis @fastmail.fm> wrote in message
> > news:817810de.0407021432.11434e35@posting.google.com...
> > > We have a Visual FoxPro COM DLL running under MTS. IISState was run
> > > while the mtx.exe process was consuming about 50% of the CPU. From
> > > the log file below, is it possible to determine what the process was
> > > doing? Thanks for your help.
> > >
> > >
> > > Opened log file 'D:\iisstate\output\IISState-420.log'
> > >
> > > ***********************
> > > Starting new log output
> > > IISState version 3.2
> > >
> > > Thu Jul 01 19:06:50 2004
> > >
> > > OS = NT4
> > > Executable: mtx.exe
> > > PID = 420
> > >
> > > Note: Thread times are formatted as HH:MM:SS.ms
> > >
> > > ***********************
> > >
> > >
> > >
> > >
> > > Thread ID: 0
> > > System Thread ID: 202
> > > Kernel Time: 0:0:0.31
> > > User Time: 0:0:0.15
> > > Thread Status: Thread is in a WAIT state.
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 0006feb4 77f1cf95 ntdll!NtWaitForSingleObject+0xb
> > > 01 0006fedc 77f04f44 KERNEL32!WaitForSingleObjectEx+0x73
> > > 02 0006feec 00401837 KERNEL32!WaitForSingleObject+0xf
> > > 03 0006ff24 00402296 mtx!WinMain+0x141
> > > 04 0006ffc0 77f1bb7c mtx!WinMainCRTStartup+0x156
> > > 05 0006fff0 00000000 KERNEL32!BaseProcessStart+0x40
> > >
> > >
> > >
> > >
> > > Thread ID: 1
> > > System Thread ID: 207
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.15
> > > *** ERROR: Symbol file could not be found. Defaulted to export
> > > symbols for ole32.dll -
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 00e6ff30 77e85394 USER32!ZwUserGetMessage+0xb
> > > 01 00e6ff50 77b772bc USER32!GetMessageW+0x34
> > > WARNING: Stack unwind information not available. Following frames may
> > > be wrong.
> > > 02 00e6ff94 77b77202 ole32!CoFreeUnusedLibraries+0x389
> > > 03 00e6ffec 00000000 ole32!CoFreeUnusedLibraries+0x2cf
> > >
> > >
> > >
> > >
> > > Thread ID: 2
> > > System Thread ID: ee
> > > Kernel Time: 0:0:0.15
> > > User Time: 0:0:0.15
> > > Thread Status: Thread is in a WAIT state.
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 00f2ff64 77f1cf95 ntdll!NtWaitForSingleObject+0xb
> > > 01 00f2ff8c 77f04f44 KERNEL32!WaitForSingleObjectEx+0x73
> > > 02 00f2ff9c 69d0b524 KERNEL32!WaitForSingleObject+0xf
> > > 03 00f2ffb8 77f04eeb MTSEvents!DispatchEvents+0x94
> > > 04 00f2ffec 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > >
> > >
> > >
> > > Thread ID: 3
> > > System Thread ID: 1ad
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.0
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 00f6ff24 77f1d1e8 ntdll!ZwDelayExecution+0xb
> > > 01 00f6ff44 77f1d1b1 KERNEL32!SleepEx+0x34
> > > 02 00f6ff50 699c2756 KERNEL32!Sleep+0xb
> > > 03 00f6ff84 7800265a MTXTRK!PostData+0xea
> > > 04 00f6ffb8 77f04eeb MSVCRT!_beginthreadex+0xca
> > > 05 00f6ffec 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > >
> > >
> > >
> > > Thread ID: 4
> > > System Thread ID: 1d4
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.0
> > > *** ERROR: Symbol file could not be found. Defaulted to export
> > > symbols for MtxDm.dll -
> > > Thread Status: Thread is in a WAIT state.
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 00faff58 77f1cf95 ntdll!NtWaitForSingleObject+0xb
> > > 01 00faff80 77f04f44 KERNEL32!WaitForSingleObjectEx+0x73
> > > 02 00faff90 69a21998 KERNEL32!WaitForSingleObject+0xf
> > > WARNING: Stack unwind information not available. Following frames may
> > > be wrong.
> > > 03 00faffb8 77f04eeb MtxDm+0x1998
> > > 04 ffffffff 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > >
> > >
> > >
> > > Thread ID: 5
> > > System Thread ID: f5
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.0
> > > Thread Status: Thread is in a WAIT state.
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 00feff0c 77f1d15e ntdll!NtWaitForMultipleObjects+0xb
> > > 01 00feff64 77f1d06b KERNEL32!WaitForMultipleObjectsEx+0xef
> > > 02 00feff80 697eca12 KERNEL32!WaitForMultipleObjects+0x16
> > > 03 00feffb0 697ef0aa mtxex!CMTSPackage::PackageControl+0x4e
> > > 04 00feffb8 77f04eeb mtxex!ControlThread+0x3e
> > > 05 00feffec 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > >
> > >
> > >
> > > Thread ID: 6
> > > System Thread ID: 1aa
> > > Kernel Time: 0:0:0.109
> > > User Time: 0:31:33.453
> > > *** ERROR: Symbol file could not be found. Defaulted to export
> > > symbols for VFP6T.DLL -
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > WARNING: Stack unwind information not available. Following frames may
> > > be wrong.
> > > 00 0112da00 0c050311 VFP6T!DllOleInit+0x39bd1
> > > 01 0112da28 0c07a546 VFP6T!DllOleInit+0xef80
> > > 02 0112e464 0c176594 VFP6T!DllOleInit+0x391b5
> > > 03 0112e5a4 0c023326 VFP6T!VFPDllCanUnloadNow+0x33aed
> > > 04 0112e9a4 0c01cc88 VFP6T!DllUnregisterServer+0x21dc4
> > > 05 0cdba205 00000000 VFP6T!DllUnregisterServer+0x1b726
> > >
> > >
> > >
> > >
> > > Thread ID: 7
> > > System Thread ID: 1f7
> > > Kernel Time: 0:0:0.109
> > > User Time: 0:0:0.109
> > > Thread Status: Thread is in a WAIT state.
> > > Thread Type: Other
> > > # ChildEBP RetAddr
> > > 00 0272fe5c 77f1d15e ntdll!NtWaitForMultipleObjects+0xb
> > > 01 0272feb4 77e7ae57 KERNEL32!WaitForMultipleObjectsEx+0xef
> > > 02 0272ff10 77e7ae9c USER32!MsgWaitForMultipleObjectsEx+0x127
> > > 03 0272ff2c 697f1dbe USER32!MsgWaitForMultipleObjects+0x1d
> > > 04 0272ff78 697f22d2 mtxex!CViperThread::MainLoop+0x60
> > > 05 0272ff84 7800bee4 mtxex!CViperThreadMainProc+0x12
> > > 06 0272ff90 77b306de MSVCRT!_beginthread+0xce
> > > WARNING: Stack unwind information not available. Following frames may
> > > be wrong.
> > > 07 0102f4e0 00000000 ole32!CoGetTIDFromIPID+0x338e
> > >
> > >
> > >
> > >
> > > Thread ID: 8
> > > System Thread ID: 24c
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.0
> > > Thread Type: Possible ASP page. Possible DCOM activity
> > > Executing Page: ASP.dll symbols not found. Unable to locate ASP page.
> > > Continuing with other analysis.
> > >
> > > OLE32.dll Symbols not found. Unable to proceed with DCOM check.
> > > Continuing other analysis.
> > >
> > > # ChildEBP RetAddr
> > > 00 0311fdec 77e17f96 ntdll!ZwReplyWaitReceivePort+0xb
> > > 01 0311ff90 77e17f38 RPCRT4!WMSG_ADDRESS::ReceiveLotsaCalls+0x5b
> > > 02 0311ff94 77e17b56 RPCRT4!RecvLotsaCallsWrapper+0x9
> > > 03 0311ffac 77e17c09 RPCRT4!BaseCachedThreadRoutine+0x22
> > > 04 0311ffb8 77f04eeb RPCRT4!ThreadStartRoutine+0x17
> > > 05 0311ffec 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > >
> > >
> > >
> > > Thread ID: 9
> > > System Thread ID: 14d
> > > Kernel Time: 0:0:0.0
> > > User Time: 0:0:0.0
> > > Thread Type: Possible ASP page. Possible DCOM activity
> > > Executing Page: ASP.dll symbols not found. Unable to locate ASP page.
> > > Continuing with other analysis.
> > >
> > > OLE32.dll Symbols not found. Unable to proceed with DCOM check.
> > > Continuing other analysis.
> > >
> > > # ChildEBP RetAddr
> > > 00 031dfdec 77e17f96 ntdll!ZwReplyWaitReceivePort+0xb
> > > 01 031dff90 77e17f38 RPCRT4!WMSG_ADDRESS::ReceiveLotsaCalls+0x5b
> > > 02 031dff94 77e17b56 RPCRT4!RecvLotsaCallsWrapper+0x9
> > > 03 031dffac 77e17c09 RPCRT4!BaseCachedThreadRoutine+0x22
> > > 04 031dffb8 77f04eeb RPCRT4!ThreadStartRoutine+0x17
> > > 05 031dffec 00000000 KERNEL32!BaseThreadStart+0x51
> > >
> > > Closing open log file D:\iisstate\output\IISState-420.log
> >
> >
>
><!-- ~MESSAGE_AFTER~ -->
>> Stay informed about: IISState log file