Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Finding offending thread in MS Windows server
Forte Agent <1443131_at_usenetplanet.com> wrote in message news:<ld77p01alqbcb6adiumajgrlkkbist7htr_at_4ax.com>...
> We have Oracle DB 9.2.0.4 on Windows 2000 Server. Sometimes we see
> ORACLE.EXE taking up 100% of CPU time to time, practically bringing
> our server down to halt. Problem is, unlike UNIX, all Oracle
> processes in Windows run as a single ORACLE.EXE process, so we are
> having trouble finding out which database session is taking up CPU.
> Is there some way to identify offending session in Windows?
> Unfortunately, dynamic performance view such as v$session_wait is not
> helping too much.
>
> Since Oracle processes in Windows run as many threads spawned by a
> single ORACLE.EXE process, we are wondering if there is a way to
> pin-point exactly what thread is taking up CPU, and kill just that
> specific thread. Please let us know if there is a way. Thank you in
> advance.
Hi, Forte,
Can you tell us what's in v$session_wait excluding (commonly considered) idle events? You can also watch v$sesstat for 'CPU used by this session' statistic (get statistic# from v$statname or v$sysstat). Find the session that has the largest delta values between two samplings.
If you really want to use a non-Oracle tool, I suggest Sysinternals' Process Explorer. You can get thread-specific CPU usage. Most other tools don't show this.
Yong Huang Received on Fri Nov 12 2004 - 08:15:02 CST
![]() |
![]() |